ページを作成するとき、リンクをクリックした後に何もしたくない場合、またはクリックに応じて他のことを完了したい場合は、その属性href = "#"を設定できますが、問題があります。つまり、ページにあるときに問題がありますスクロールバーは、クリックした後、ページの上部に戻り、ユーザーエクスペリエンスが不十分です。
現在、いくつかの解決策があります。
1)リンクをクリックした後は何もしません
コードコピーは次のとおりです。
<a href = "javascript:void(0);"
<a href = "javascript :;"
<a href = "####"> test </a> // 2〜4#を使用し、それらのほとんどは「####」で、一部は「#all」などを使用します
2)リンクをクリックした後、ユーザー定義のクリックイベントに応答します
コードコピーは次のとおりです。
<a href = "javascript:void(0)" onclick = "dosomething()"> test </a>
<a href = "#" onclick = "dosomething(); return false;">ブラウザの非互換性の問題を含むすべての問題は解決されました</a> //またはhref = ""を直接使用します
<a href = "#" onclick = "alert(); event.returnValue = false;"> test </a>
説明:
1.JavaScript:void(0)は、Web標準の本を読んでいない場合、その理由がわかりません。 (私は理解していません、私は元の言葉を選びました、そして私はそれの記録を保持します)
2。JavaScriptの使用:IEで直接void(0)は、次のようないくつかの問題を引き起こす可能性があります。GIFアニメーションの再生を停止するなど、最も安全な方法は「####」を使用することです。 OnClickイベントがリンクをクリックした後にページの上部にジャンプするのを防ぐために、OnClickイベントをfalseに返すことができます。
3.マウスを動かして手の形にしたい場合は、使用できます
コードコピーは次のとおりです。
<span style = "cursor:pointer" onclick = "foo()">クリックしてください!</span>
voidはJavaScriptのオペレーターです。つまり、式のみが実行されますが、返品値はありません。
void演算子の使用形式は次のとおりです。
コードコピーは次のとおりです。
JavaScript:void(式)
JavaScript:void expression
良いプログラムスタイルのために、ブラケットで2番目のタイプを使用することをお勧めします
void演算子を使用して、javascript:void(document.form.submit())などのハイパーリンクを指定できます。式は計算されますが、現在のドキュメント(0)には何もロードされませんが、JavaScriptには影響しません。 <a href = "javascript:void(1)">と同じです。
重要なのは、voidがJavascipt自体のオペレーターであることを知ることです。つまり、式のみが実行されますが、返品値はありません。
さらに、「#」のデフォルトの照準位置が上部にあるため、ページは上部に自動的に調整されるため、この状況が発生します。