との比較について読みました。href="#"
また、href="javascript:void(0)"
比較についても知りたいです
href="javascript:;" or href="javascript:void(0)"
、
ps:href="javascript:;"
の代わりにいつも使用しhref="javascript:void(0)"
ていますが、問題はありません。
との比較について読みました。href="#"
また、href="javascript:void(0)"
比較についても知りたいです
href="javascript:;" or href="javascript:void(0)"
、
ps:href="javascript:;"
の代わりにいつも使用しhref="javascript:void(0)"
ていますが、問題はありません。
javascript:
どちらの形式でもハイパーリンクで使用するのは良くありません。JavaScript の設計は目立たないようにする必要があります。
イベント リスナーをアンカーにアタッチする場合は、#
アンカーまたは実際の URL を使用する必要があります。例:
<a href="/delete/post/123">delete</a>
...
<script>
jQuery(function($) {
$('a').on('click', function(event) {
event.preventDefault();
// do ajax stuff
});
});
</script>
このように、古いブラウザー (または JavaScript が無効になっているブラウザー) は通常のリンクに従ってアイテムを削除しますが、JavaScript が有効なブラウザーは AJAX を介してこれを行うため、ページを更新する必要はありません。
リンクが本当に何もしないことを意図している場合は、アンカーをまったく使用しないでください。<span>
その目的のためにa をスタイリングするだけです。
javascript:void(0) - javascript:some_code_to_execute よりも理解しやすい。確かに、あなたの場合は javascript:; 読むのは難しくありません。コードが壊れているとは思わないでしょう。
javascript: で lcick を処理するのが悪い理由はいくつかあります。私はそれが実際の質問ではないことを知っていますが、関連しています:
リンクの通常の動作は、式が に評価されない限りjavascript:
、ドキュメントの本文が式の評価結果に置き換えられることです。2 つのバージョンに違いはありません。どちらも評価され、リンク内では効果がありません。undefined
undefined
javascript:
ただし、これは no-op リンクを作成するための推奨される方法ではありません。ブラウザに JavaScript の解析と評価を不必要に強制します。何もしないリンクを作成したい場合は、そのリンクを に設定しhref
、関数をリンクのイベント"#"
にバインドする必要があります。click
イベント ハンドラにはイベント オブジェクトが渡されます。いくつかのコードを評価し、リンクがたどられないようにする (#
現在の URL に追加する) 場合はevent.preventDefault()
、 、event.stopPropagation()
、または単にfalse
イベント ハンドラーから戻ることができます。
最善の選択肢は、属性に何らかの意味のある値を維持することhref
です。これにより、JavaScript が回避された場合 (IE、ユーザーがリンクを新しいウィンドウで開く場合) にも、適切なフォールバックが行われます。次に、既存の HTML のみの機能の上に追加の「豊富な」アクションを重ねる必要があります。
に何を入れるかは、実際にhref
は関係ありません。false
クリック ハンドラーから戻ることで、リンクが最初にたどられないようにする必要があります。
例:
<a href="fallback.html" onclick="doSomething();return false;">
には、href
Javascript を無効にしているユーザー向けのフォールバック ソリューションへのリンク、またはページの機能を使用するには Javascript が必要であることを知らせるページを配置できます。