我有一个表单元格(td),单击时会触发脚本。我在该表格单元格中有一个div,在单击时会触发另一个div。我已成功使用下面的代码取消事件冒泡(因此div事件不会触发td事件)。
if (!e) var e = window.event;
e.cancelBubble = true;
e.stopImmediatePropagation();
e.returnValue = false;
if (e.stopPropagation)
{
e.stopImmediatePropagation();
e.stopPropagation();
e.preventDefault();
}
一切都在Chrome,Safari和Opera中运行。为什么不阻止Firefox中的事件冒泡?是否有某种我需要注意的Firefox修复程序?
答案 0 :(得分:1)
我认为event.stopImmediatePropagation()
会阻止来自同一事件的其他侦听器被调用,从而在无效后调用event.stopPropagation()
。请尝试使用event.stopPropagation()
。
答案 1 :(得分:0)
我相信这段代码应该足够了:
e = e || window.event;
if (e.stopPropagation) {
e.stopPropagation();
}
// other piece of code here