我在Firefox浏览器中遇到了一个奇怪的问题,当右键点击子节点时,会在文档节点上触发单击事件。
以下代码展示了该问题:http://jsfiddle.net/RyDZU/5/ 更新版本:http://jsfiddle.net/RyDZU/10/
以下代码展示了该问题: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>
如果您在Firefox(21)中右键单击“测试”一词,则控制台上会打印“body”一词。但在IE 10 / Chrome中不会出现此情况。
如何防止在Firefox中触发此事件?
以下方法无效:
$("body").on("click", "span", function(e) {
e.preventDefault();
e.stopPropagation();
});