私はそれをクリックするとページが「ジャンプアップ」しないようにどのように私は、空のHTMLアンカーを作成することができますか?
-
20-08-2019 - |
質問
私は、リンクをクリックしたときに、いくつかのコンテンツを表示/非表示にするには、いくつかのjQueryに取り組んでいます。私はのようなものを作成することができます:
<a href="#" onclick="jquery_stuff" />
しかし、私はページを下にスクロールしていながら、私はそのリンクをクリックした場合、それはページの一番上まで戻ってジャンプします。
私のような何かをする場合:
<a href="" onclick="jquery_stuff" />
ページではJavaScriptが行ったすべての変更のページをのRIDれ、リロードされます。
このような何かます:
<a onclick="jquery_stuff" />
私に所望の効果が得られないでしょうが、それはもはや、リンクとして表示されます。私は、ページ上の何かを変更したり、スクロールバーを移動することなく、onclick
イベントにjavascriptのハンドラを割り当てることができますので、空のアンカーを指定するためのいくつかの方法がありますか?
解決
"return false;" を入れてください第二の選択肢でます:
<a href="" onclick="jquery_stuff; return false;" />
他のヒント
あなたはreturn false;
後jquery_stuff
する必要があります:
<a href="no-javascript.html" onclick="jquery_stuff(); return false;" />
これはデフォルトの動作をキャンセルします。
あなたは以下のように単に置くことができます:
<a href="javascript:;" onclick="jquery_stuff">
jQueryのは、ここで見つけることができ、この呼ばpreventDefault
のために内蔵の機能があります。
http://api.jquery.com/event.preventDefault/する
ここではその一例です。
<script>
$("a").click(function(event) {
event.preventDefault();
});
</script>
また、このようなリンクを構築することができます:
<a href="javascript:void(0)" onclick="myJsFunc();">Link</a>
(ボタン、ないアンカーを使用)eyelidlessness'はコメントをチェックしてください。同じアドバイスを投稿するちょうど約でした。単にリソースにリンクしていないアンカーは、スクリプトがボタンとして実装する必要が実行されます。
HTML内にイベントハンドラを入れて停止し、アンカータグの使用を停止 それは、セマンティック目的を固定提供していません。ボタンを使用して追加 あなたのJavaScriptでハンドラをクリックしてください。例:HTMLとJavaScript
<button id="jquery_stuff">Label</button>
$('#jquery_stuff').click(jquery_stuff);
。あなたはスタイルをCSSを使用することができます ボタンは、パディング、ボーダー、マージンを除去することで、リンクのように見えるようにし、 その後、背景色、あなたのリンクのスタイル(例えば、色を追加し、 テキスト装飾)。 - 午後5時40分でeyelidlessness 10月19日'10
<a href="javascript:;" onclick="jquery">link</a>
あなたは、それはHTMLのためのバリデータのエラーをポップアップ表示しないようにしたい場合は、 href
はそこで何かが必要です。 javascript:;
が良いプレースホルダです。
あなたが本当に#
を使用する場合:
<a href="#me" name="me" onclick="jquery">link</a>
return false;
には注意してください、それはあなたがやっている何のデフォルト動作を停止します。
また、あなたは、Internet Explorerでの問題に実行可能提出します。
<a href="javascript:// some helpful comment " onclick="jquery_stuff" />
私は通常、私はこのような何かを達成するために必要がある場合には、リンクのように見えるように<span>
とスタイルを使用します。
<a href="#" class="falseLinks">Link1</a>
<a href="#" class="falseLinks">Link2</a>
など。
jQueryの:
$(function() {
$("a.falseLinks").click(function() {
// ...other stuff you want to do when links is clicked
// This is the same as putting onclick="return false;" in HTML
return false;
})
});
@eyelidlessnessは、彼がそれを言った方法で、ビットdouchyだったが、彼は正しかったです。これはそれを行うためのクリーンな方法です。あなたがやるものjQueryの簡単かつクリーンないためバニラJavaScriptに戻っている場合、なぜjQueryのを使うのか?
通常I行います:
<a style="cursor:pointer;" onclick="whatever();">Whatever</a>
これはどうます:
<a href="#nogo" onclick="foo();">some text</a>