JavaScript 取消浏览器事件冒泡
来源:程序员人生 发布时间:2014-04-25 04:42:51 阅读次数:2930次
再用js为Html元素指定样式或绑定事件时,由于浏览器的事件工作方式为捕捉/冒泡,往往容易将样式或事件绑定到到目标元素的父元素上,所有如果只希望将样式或事件绑定到指定目标元素上,就需要取消事件的冒泡行为。
不幸的是IE所采用的停止事件冒泡的方式同其他浏览器不同,其他浏览器采用的是符合W3C的标准方式,所有在执行停止事件冒泡函数中用判断浏览器,函数如下:
function stopBubble(e)
{
//如果传入了对象,那么就是非IE浏览器,才用W3C标准方法
if(e||e.stopPropagation)
{
e.stopPropagation();
}
else
{
//才用IE的停止事件冒泡的方法
window.event.CancelBubble=true;
}
}