为什么我的函数被调用两次?
问题描述:
$(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()
被称为加载两次。这是怎么回事..??为什么我的函数被调用两次?
答
变化的准备片段
$(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); });
参见:http://stackoverflow.com/questions/2316158/jquery-how-do-you-pass-this-as-函数参数/ 2316194#2316194 – deceze 2010-08-24 04:52:31
谢谢大家回答我的问题,真的。 – Deckard 2010-08-24 04:59:11