クリックするとリンクの外観を変更する非常に単純なtoggleClassがあります。1つのことを除けば素晴らしい働きをします。リンクをクリックするたびに、ブラウザのフォーカスがページの先頭に戻ります。リンクがページの一番下にある場合、これは非常に煩わしくなります。
粗いスパンなどの別の要素を使用することもできますが、私の質問に対する解決策があるかどうか知りたいです。
使用したリンクの例:
<a class="share-this" href="#">Share This</a>
クリックするとリンクの外観を変更する非常に単純なtoggleClassがあります。1つのことを除けば素晴らしい働きをします。リンクをクリックするたびに、ブラウザのフォーカスがページの先頭に戻ります。リンクがページの一番下にある場合、これは非常に煩わしくなります。
粗いスパンなどの別の要素を使用することもできますが、私の質問に対する解決策があるかどうか知りたいです。
使用したリンクの例:
<a class="share-this" href="#">Share This</a>
リンクをクリックすると、hrefで指定された「#」に移動します。これにより、画面が一番上に表示されます。
あなたがする必要があるのは、このデフォルトのブラウザアクションを防ぐことです。これを行うには、クリックイベントを処理し、それがバブリングするのを防ぎます(これはブラウザが処理します)。
次のように、デフォルトのクリックアクションを防ぐことができます。
$('.share-this').toggleClass('some-class-that-is-toggled').click(function(e) {
e.preventDefault();
});
または、この関数も役立つ場合があります:
$('.share-this').toggleClass('some-class-that-is-toggled').click(function(e) {
return false;
});
どこにも行かないのになぜリンクを使うのですか?トグルコードを他の要素タイプに追加するだけです。回避策を回避するだけでなく、意味的に正しく、維持するのがより明確になります。
解決策->
<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#