我在 Firefox 中遇到一个奇怪的问题,右键单击子节点时在文档节点上引发单击事件。
这段代码说明了这个问题:http: //jsfiddle.net/RyDZU/5/
更新版本:http: //jsfiddle.net/RyDZU/10/
$(document).on("click","span",function(e) {
console.log('span');
console.log(e.isPropagationStopped());
});
$(document).on("click","div",function(e) {
console.log('div');
console.log(e.isPropagationStopped());
e.stopPropagation();
console.log(e.isPropagationStopped());
});
$(document).on("click",function(e) {
console.log('body');
console.log(e.isPropagationStopped());
});
HTML:<div><span>测试</span></div>
如果您右键单击单词“test”,则单词“body”将打印在 firefox (21) 的控制台中。不在 IE 10/Chrome 中。
如何防止在 Firefox 中引发此事件?
这不起作用:
$("body").on("click", "span", function(e) {
e.preventDefault();
e.stopPropagation();
});