我创建了一个表格,里面有一个按钮。
表格有 onclick
事件以及内部按钮
但是当我按下按钮时,事件就会冒泡到表中。 (我收到 2 个警报)
所以我使用了ev.stopPropagation();
并且它正在工作。但为了让它发挥作用,我必须这样做:
在 html 中:
<input type='button' onclick='doWork(event);'/>
在 J 中:
function doWork(ev)
{
ev.stopPropagation();
alert('button');
}
- 这是正确的方法吗?
- 必须我发送事件吗?我知道不同的浏览器使用不同的
事件
。
最佳答案
IE不需要传递事件对象,我们可以使用window.event来访问它。 Old IE versions have not supported e.stopPropagation 。因此,出于跨浏览器兼容性的原因,您应该尝试以下操作:
function doWork(e)
{
var evt = e || window.event;
if (evt.stopPropagation) {
evt.stopPropagation();
}
else {
evt.cancelBubble = true;
}
alert('button');
}
关于javascript - jquery stopPropagation() 并发送 "event"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14932115/