为什么我的函数被调用了两次?

时间:2010-08-24 04:48:15

标签: jquery

    $(document).ready(function () {
 doSomething(1);    
 $('#pp').click( doSomething(2) );//why is this called?? I didn't click the button..
});

function doSomething(v) {
 alert(v);
}
</script>

<body>

<input type="button" id="pp" value="asdf" />

我需要在加载和点击时调用一个函数。但不知怎的,doSomething()在加载时被调用了两次。发生了什么...... ??

4 个答案:

答案 0 :(得分:2)

将就绪片段更改为

$(document).ready(function() {
  doSomething(1);
  $('#pp').click(function() {
    doSomething(2);
  });
});

答案 1 :(得分:0)

$(document).ready(function () {
 doSomething(1);    
 $('#pp').click( function(){doSomething(2);} );
});

答案 2 :(得分:0)

您需要在.click()中将传递的内容包装到function {}。否则,它会在.click()行执行且结果传递给.click()时执行。

答案 3 :(得分:0)

我认为您的事件绑定存在错误。它应该是:

$('#pp').bind('click', function () { doSomething(2); });