私はそれをクリックするとページが「ジャンプアップ」しないようにどのように私は、空のHTMLアンカーを作成することができますか?

StackOverflow https://stackoverflow.com/questions/493175

  •  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;には注意してください、それはあなたがやっている何のデフォルト動作を停止します。

あなたのJSが似ている場合は、

また、あなたは、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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top