正在为IE8重写e.preventDefault()
Rewriting e.preventDefault() for IE8
我在IE8中使用e.preventDefault()
时遇到问题,因为它导致以下错误:
Object doesn't support property or method `preventDefault`
正如在其他线程和Google上看到的那样,可以通过使用e.returnValue
作为回退来避免这种情况。在我的情况下,我使用的是一个插件,我不想在发生这种情况的每个部分都修改它。我想通过访问对象的原型来重写Event.preventDefault
函数,但我不确定如何在这里进行,也找不到任何关于这方面的信息。
这似乎是最明显、最优雅的解决方案。这有可能实现吗?
这是我通常要做的:
if (!Event.prototype.preventDefault)
Event.prototype.preventDefault = function() {
try {this.keyCode = 0;} catch (e) {}
this.returnValue = false;
}
嗯,是最明显的解决方案。我记不清是什么时候了,但有时需要将keyCode
属性设置为0
才能正确防止键盘事件。
注意:这只适用于IE8,因为IE7没有Event
构造函数。
相关文章:
- 我怎样才能制作一个“;reverse preventDefault”;在jQuery中
- IE7 preventDefault()无法处理跳过链接
- e.preventDefault在表单提交时被忽略
- preventDefault而不删除html5验证
- event.preventDefault阻止ajax调用
- jQuery preventdefault提交表单没有'通过js函数提交表单时无法工作
- 事件发生后重定向到主页.preventDefault.
- 是preventDefault()一个jQuery函数或javascript函数
- preventDefault之后的重新启动事件
- preventDefault()赢得'It’我不管用
- 为什么使用e.preventDefault的if语句?-拖放javascript
- event.preventDefault() 不会在 jQuery Mobile 中取消链接方向
- preventDefault() 类似于 javascript 中的功能
- e.preventDefault() in ie8
- 如果父元素具有 preventDefault,如何将单击传播到子元素
- Javascript - jQuery preventDefault method
- Javascript-匿名函数中使用参数引用全局函数的闭包-我如何使用preventDefault
- 如何查找导致preventDefault的原因,该preventDefault会覆盖正常的单击行为
- 如果存在event.preventDefault函数,则ajaxForm不起作用
- Javascript preventDefault operation