0

最後の質問に答えた後、 preventDefault(); を見たことがありません。前に機能します。

だから私の質問は今、最善の方法は何ですか? 次のコードを作成しました

<!DOCTYPE html>
<head>
    <script type='text/javascript' src='files/jquery-1.7.2.min.js'></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#abc").click(function(ev) {
            ev.preventDefault();
            alert('hey');
            });
        });
       </script>
</head>
<body>
    <h1>helloasdasdasdsad</h1>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <a href="javascript:void();" id="abc">Link 1: javascript:void();</a><BR><BR>
    <a href="#" id="abc">Link 2: #</a><BR><BR>
    <a href="javascipt:void(0);" id="abc">Link 3: javascript:void(0);</a><BR><BR>
    <a id="abc">Link 4: NO HREF</a><BR><BR>
</body>
</html>

..ページの先頭にスクロールするので、# を使用するのは嫌いです。javascript:void(); が判明しました。href にあると、IE で構文エラーが発生します。それで、すべての関数に (ev) とev.preventDefault();行を入れるのが答えですか? または、すべての関数の最後にできますか?return false;

最も広く受け入れられている最善の方法は何ですか?

編集: よし、event.preventDefault(); を使用するのが最善ですが、冗長リンクが必要な場合でも、HREF に何が入るかはまだわかりませんか? 一部の古いブラウザーはクリック イベントに応答しないか、DIV/SPAN/IMG 要素にカーソルを合わせないため、常に.clickでイベントを使用することをお勧めします。<a href="">

4

3 に答える 3

1

あなたの質問に答えるはずのこの素晴らしい投稿を見てください。また、hrefs には何も必要ありません。

于 2012-06-29T14:51:40.347 に答える
0

リンクに空の しかない場合は、代わりにまたはhref="#"を使用することを検討する必要があります。この方法では、まったく必要ありません。<span><div>e.preventDefault()

e.preventDefault()どちらもデフォルトのイベント動作をreturn false妨げます。return falseまた、イベントが DOM をバブリングするのを防ぎます。

目立たないコードhref="javascript:void();が必要な場合は、使用を避ける必要があります。

また、「ABC」のように、複数の場所で同じ ID を使用しないようにしてください。

于 2012-06-29T14:59:55.197 に答える
0

クリックで何もしたくないアンカーの場合は、 preventDefault() を追加します

于 2012-06-29T14:51:45.797 に答える