0

クリックするとリンクの外観を変更する非常に単純なtoggleClassがあります。1つのことを除けば素晴らしい働きをします。リンクをクリックするたびに、ブラウザのフォーカスがページの先頭に戻ります。リンクがページの一番下にある場合、これは非常に煩わしくなります。

粗いスパンなどの別の要素を使用することもできますが、私の質問に対する解決策があるかどうか知りたいです。

使用したリンクの例:

<a class="share-this" href="#">Share This</a>
4

4 に答える 4

2

リンクをクリックすると、hrefで指定された「#」に移動します。これにより、画面が一番上に表示されます。

あなたがする必要があるのは、このデフォルトのブラウザアクションを防ぐことです。これを行うには、クリックイベントを処理し、それがバブリングするのを防ぎます(これはブラウザが処理します)。

次のように、デフォルトのクリックアクションを防ぐことができます。

$('.share-this').toggleClass('some-class-that-is-toggled').click(function(e) {
    e.preventDefault();
});
于 2010-01-16T07:23:12.990 に答える
1

または、この関数も役立つ場合があります:

$('.share-this').toggleClass('some-class-that-is-toggled').click(function(e) {
    return false;
});
于 2010-01-16T09:53:21.160 に答える
1

どこにも行かないのになぜリンクを使うのですか?トグルコードを他の要素タイプに追加するだけです。回避策を回避するだけでなく、意味的に正しく、維持するのがより明確になります。

于 2010-01-16T08:49:00.243 に答える
0

解決策->

<a class="share-this" href="javascript:void(0);">Share This</a> 

これは、href = "#" use "javascript:void(0);"が原因で発生します。それ以外の #。

それはまたあなたのURLを変更します例えば

http:// localhost:8080 / appnameからhttp:// localhost:8080 / appname#

于 2010-01-16T09:34:58.090 に答える