jQuery click事件自动执行?

$(function(){

  $("...").click(test());
  function test(){
     alert("mmm");
  }

});

以上click会被自动执行。

在页面载入后 jquery就会根据你的代码给网页元素绑定事件
click方法传入参数是一个function类型的变量
在判断变量类型时会调用如下代码
typeof a == "function"
如果你传入的是test() 自然就会被执行一次

所以需要写成如下样子才不会被自动执行:

$(function(){

  $("...").click(test);//没括弧
  function test(){
     alert("mmm");
  }

})

猜你喜欢

转载自gundumw100.iteye.com/blog/2090071