ie8不兼容stopPropagation
转载请注明出处WangYuheng’s Blog
现象
IE8下stopPropagation,事件仍被父类捕获执行
原因
IE8 无法通过stopPropagation阻止事件冒泡
解决方法
通过return false阻止事件执行。
附录
event.stopPropagation();
事件处理过程中,阻止了事件冒泡,但不会阻止默认行为
stopPropagation() 相当好用, 可是 IE8 及以前版本都不支持.
IE 的事件对象包含特有的属性 cancelBubble, 只要将它赋值为 false 即可阻止事件继续. 如:
// 在弹出对话框上点击时, 不进行任何页面操作, 并阻止冒泡
document.getElementByIdx_x(‘dialog’).onclick = function(ev) {
event.cancelBubble = false;
};
return false;
事件处理过程中,阻止了事件冒泡,也阻止了默认行为(包括超链接的跳转)
event.preventDefault();
事件处理过程中,不阻击事件冒泡,但会阻止默认行为(它会执行所有事件,却不执行超链接跳转)