假设我有这样的HTML:
<div>
<a href="http://google.com">Google</a>
</div>
我有一个这样的事件处理程序(假设我有jQuery可用):
$('div').on('click', function(ev) {
// ...
});
是否可以从该事件处理程序中阻止<a>
链接的默认操作?或者为时已晚? (换句话说,我需要在<a>
或更低的位置附加事件以防止默认链接操作,或者是否可以在上面的处理程序中停止它。
如上所述,如果解决方案需要,我可以使用jQuery。
答案 0 :(得分:8)
这肯定有用:
$('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/
答案 1 :(得分:4)
似乎有效:
$('div').on('click', function(ev) {
ev.stopImmediatePropagation();
ev.preventDefault();
});
JSFiddle:http://jsfiddle.net/3yFfC/