Internet Explorer是否支持e.preventDefault

时间:2010-12-18 17:36:43

标签: javascript internet-explorer

Internet Explorer是否支持javascript中的e.preventDefault?如果不是什么原因和替代方案是什么?请不要建议使用jQuery,mootools等库的任何解决方案。

if (!e) e = window.event;

if (e.preventDefault) { 
    e.preventDefault(); 
} else {
    e.returnValue = false;
}

2 个答案:

答案 0 :(得分:14)

好的,如果你坚持:

event.preventDefault不起作用,因为它在IE中不存在。

由于它不存在的原因,人们必须为MS工作。但总的来说,IE并不总是符合标准。

documentation表示您可以设置event.returnValue

  

false
  将取消事件对源对象的默认操作。

并进一步:

  

说明

     

此属性的值优先于函数返回的值,例如通过Microsoft JScript返回语句。

     

标准信息

     

没有适用于此属性的公共标准。

preventDefault seems to be supported in IE9.

答案 1 :(得分:-5)

它不支持它,因为微软的某个人决定这样做。

替代方案是event.cancelBubble