开发者问题收集

无法读取 javascript 错误中未定义的属性“preventDefault”

2016-07-08
109929

在控制台中,我使用 e.preventDefault() 方法时出现以下错误 我使用 e 作为函数参数

  function function1(e){
     e.preventDefault();
   } 

1533 未捕获 TypeError:无法读取未定义的属性“preventDefault”。

调用 function1 如下

    <a href="#none" onclick="function1()">Click Me</a> 
3个回答

您必须在使用的函数中传递 event

function1(event); // where you called it 

例如:

    <a href="#none" onclick="function1(event)">Click Me</a>

确保在事件处理程序中调用此函数。例如:

 $(document).click(function(event){
      function1(event);
 });
Jai
2016-07-08

您编写的函数有误。假设您在某个按钮点击上使用函数,该按钮的 id 为“clickBtn”,那么您需要编写如下函数。

$("#clickBtn").on("click", function(e){
     e.preventDefault();
});
Laxminarayan
2016-07-08

我从函数中删除事件并以此方式调用函数:

<button class="btn btn-primary" runat="server" id="btnSave" type="submit"                                           
          onserverclick="btnSave_OnServerClick"  onclick="return 
          jsFunction();">Save</button>

在 JavaScript 中:

function jsFunction() {
        alert('call');
        if ($('#form1').bootstrapValidator('validate').has('.has-error').length) {
            alert('SOMETHING WRONG');             
        } else {
            alert('EVERYTHING IS GOOD');
            __doPostBack('<%=btnSave.UniqueID%>', '');
          }
        return false;
    }
2016-07-08