jquery执行声明的功能,没有我点击
问题描述:
我不知道为什么浏览器显示“登录”没有我点击链接我id标记与clickhere。它会在每次刷新页面时显示它。jquery执行声明的功能,没有我点击
<script type="text/javascript">
$(document).ready(function(){
function login(){
alert("logged in");
}
$("#clickhere").click(login());
});
</script>
我只想让它在我点击链接时显示。
是什么问题?
答
您必须在JQuerys的click()函数中登录后才能移除()。
<script type="text/javascript">
$(document).ready(function(){
function login(){
alert("logged in");
}
$("#clickhere").click(login);
});
</script>
答
您必须将方法传递给jQuery的click()
。 login()
表示执行登录方法。您必须正确传递方法ammoQ said。
或者你可以像这样改变你的代码。点击#clickhere
时,只会拨打login()
。
<script type="text/javascript">
$(document).ready(function(){
function login(){
alert("logged in");
}
$("#clickhere").click(function() {
login();
});
});
</script>
这真的很奇怪。通常你会调用一个像login()这样的函数..嗯.. – 2009-12-07 09:33:25
。但是你不想调用它(现在),你只是想告诉jQuery稍后使用这个函数对象,当点击发生时。 – 2009-12-07 09:34:53