6

次のようなHTMLがあるとします。

<div>
    <a href="http://google.com">Google</a>
</div>

そして、私はこのようなイベントハンドラーを持っています(jQueryが利用可能であると仮定します):

$('div').on('click', function(ev) {
    // ...
});

そのイベントハンドラー内から、<a>リンクのデフォルトのアクションを防ぐことは可能ですか?それとも手遅れですか?(つまり、デフォルトのリンクアクションを防ぐために、以下にイベントをアタッチする必要がありますか、それとも上記のハンドラーで停止することは可能ですか)。<a>

上で述べたように、ソリューションで必要な場合はjQueryを利用できます。

4

2 に答える 2

9

これは間違いなく機能します:

$('div').on('click', "a", function(e) {
    e.preventDefault();
});

これがフィドルです:http://jsfiddle.net/xvKNC/1/

持続する。これはChromeでうまくいくようです

// prevent default on every click in the div
$('div').on('click', function(ev) {
    ev.preventDefault();
});

更新されたフィドルを参照してください:http: //jsfiddle.net/xvKNC/2/

于 2012-05-11T20:58:06.917 に答える
4

それはうまくいくようです:

$('div').on('click', function(ev) {
    ev.stopImmediatePropagation();
    ev.preventDefault();

});

JSFiddle: http: //jsfiddle.net/3yFfC/

于 2012-05-11T21:07:13.743 に答える