很直接的问题。< IE8 不支持event.preventDefault()
,所以我想修改Event.prototype
IE 以添加我自己的preventDefault
方法,使用event.returnValue
. 简单的任务,但这是一个坏主意吗?
问问题
234 次
2 回答
1
到目前为止,在我看来,这个问题的最佳答案是这不是一个坏主意。这并不意味着在一般情况下使用原型或什至使用其他方法Event
是一个好主意,但规范化event.preventDefault()
似乎完全无害——不,有帮助。
如果您能提供更好的答案,请加入。
于 2013-05-03T20:14:19.663 回答
0
你永远不应该像那样操作本机代码。您应该拥有进行特征检测并执行正确行为的代码。
如果您操纵浏览器原型,您将面临与插件冲突的风险,因为没有作者期望这样做。例如,chrome 插件覆盖了某个破坏 TinyMCE 的属性。这很令人沮丧。
网络不是一个紧凑的盒子,所以你不能假装只有你在使用浏览器。
这个问题已经向您展示了正确的方法:
event.preventDefault() 函数在 IE 中不起作用
评论中的这段代码可能最适合您:
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
于 2013-05-02T15:55:10.847 回答