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

问题描述:

$(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()被称为加载两次。这是怎么回事..??为什么我的函数被调用两次?

+2

参见:http://*.com/questions/2316158/jquery-how-do-you-pass-this-as-函数参数/ 2316194#2316194 – deceze 2010-08-24 04:52:31

+0

谢谢大家回答我的问题,真的。 – Deckard 2010-08-24 04:59:11

变化的准备片段

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

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

你需要用你传递什么.click()function {}。否则它执行.click()行执行和结果传递给.click()

我认为你的事件绑定有错误。它应该是:

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