javascript - IE >= 8 的原型(prototype) Event.StopPropagation

标签 javascript

我理解为 IE 处理 event.stopPropagation 的正确方法是

if(event.stopPropagation) {
    event.stopPropagation();
} else {
    event.returnValue = false;
}

但是是否可以对 Event 进行原型(prototype)设计,这样我就不必在每次使用 stopPropagation 时都进行检查?

这个问题似乎很有帮助:JavaScript Event prototype in IE8但是我不太理解公认的答案,也不太理解它是一个基本上可以设置并忘记的原型(prototype)。

最佳答案

大概是这样的:

Event = Event || window.Event;
Event.prototype.stopPropagation = Event.prototype.stopPropagation || function() {
    this.cancelBubble = true;
}

returnValue = false 是 preventDefault 的模拟:

Event.prototype.preventDefault = Event.prototype.preventDefault || function () {
    this.returnValue = false;
}

关于javascript - IE >= 8 的原型(prototype) Event.StopPropagation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17102300/

相关文章:

javascript - setInterval 手动设置间隔时间

javascript - $(document).on ('click' , selector, function() ) 结合 :not

javascript - 验证 JavaScript 对象的简单方法

javascript - jQuery 的 mouseenter-mouseleave 与悬停事件之间的区别?

javascript - 从字符串中删除回车符和空格

javascript - 当滚动条缩小时,Google+ 如何在导航左侧为其 Logo 设置动画效果?

javascript - Devtools > Elements > Properties 中的附加 DOM 子类别是否有实际用途?

javascript - express 发送后无法设置标题

javascript - 在 jQuery UI 日历上突出显示计数和日期

javascript - AngularJS Controller 工厂剩余 JSON