IE错误.JavaScript运行时错误:对象不支持属性或方法'preventDefault'

时间:2013-10-30 15:37:06

标签: javascript jquery razor

我的asp.net mvc web应用程序中有以下代码: -

<script>
function validateForm(e) {
    if ($("[name=ip]").val() == "" && $("[name=mac]").val() == "") jAlert('Please enter atleast one search value.', 'Message');
    e.preventDefault();
}
 </script> 

但是当在IE上访问此脚本时,我将收到以下错误: -

  

0x800a01b6 - JavaScript运行时错误:对象不支持属性   或方法'preventDefault'

当使用Firefox访问使用此脚本的网页时,Chrome会正常工作,有人可以提出建议吗?

2 个答案:

答案 0 :(得分:3)

//for IE
e.returnValue = false;

//for browsers supporting preventDefault()
if(e.preventDefault) e.preventDefault();

或短记录:

(e.preventDefault) ? e.preventDefault() : e.returnValue = false;

答案 1 :(得分:1)

IE并不总是喜欢preventDefault

检查以确保浏览器类似于preventDefault,如果没有,则使用返回值。

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