3 に答える 3

6

#bイベントが要素から要素に伝播/バブルアップするのを防ぐだけ<a>です:

$('#b').on('click', function(e) {
    e.preventDefault();
    // any other code to react to this click here
});

同じことを達成するための簡略版もあります(他のロジックがない場合):

$('#b').on('click', false);

ドキュメントから:

この値falseは、単純に を実行する関数の省略形としても使用できreturn falseます。

return falsejQuery イベント ハンドラーから呼び出すことは、 と の両方event.stopPropagation()を呼び出すことと同じですevent.preventDefault()。関数の先頭で呼び出すことの利点e.preventDefault()は、残りのハンドラー関数の実行中にエラーがスローされた場合でも、リンクをたどることができないことです。

注: いつものように、要素を操作するときは、実行する前に要素が実際に存在することを確認する必要があります。</body>これは、DOM 対応ハンドラーを意味するか、スクリプトを HTML ドキュメントの最後、タグの直前に移動することを意味します。

于 2013-10-03T12:51:05.500 に答える
1

このようなものはうまくいくと思います

$("a #b").click(function(){return false});
于 2013-10-03T12:54:11.733 に答える
0

clickイベントの伝播を停止するspan#b

$('#b').click(function(e) {
   e.stopPropagation();
   return false;
});
于 2013-10-03T12:51:23.103 に答える