[英]In Javascript, how to preventDefault on a child element from within parent event handler
假设我有这样的 HTML:
<div>
<a href="http://google.com">Google</a>
</div>
我有一个这样的事件处理程序(假设我有可用的 jQuery):
$('div').on('click', function(ev) {
// ...
});
是否可以从该事件处理程序中阻止<a>
链接的默认操作? 还是为时已晚? (换句话说,我是否需要在<a>
或更低的位置附加一个事件以防止默认链接操作,或者是否可以在上述处理程序中停止它)。
如上所述,如果解决方案需要,我可以使用 jQuery。
这肯定会奏效:
$('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/
它似乎有效:
$('div').on('click', function(ev) {
ev.stopImmediatePropagation();
ev.preventDefault();
});
JSFiddle: http : //jsfiddle.net/3yFfC/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.