6

假设我有这样的 HTML:

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

我有一个这样的事件处理程序(假设我有可用的 jQuery):

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

是否可以从该事件处理程序中阻止<a>链接的默认操作?还是为时已晚?(换句话说,我是否需要在 the 或 lower 上附加一个事件<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 回答