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> 
+0

这真的很奇怪。通常你会调用一个像login()这样的函数..嗯.. – 2009-12-07 09:33:25

+2

。但是你不想调用它(现在),你只是想告诉jQuery稍后使用这个函数对象,当点击发生时。 – 2009-12-07 09:34:53

您必须将方法传递给jQuery的click()login()表示执行登录方法。您必须正确传递方法ammoQ said

或者你可以像这样改变你的代码。点击#clickhere时,只会拨打login()

<script type="text/javascript"> 
    $(document).ready(function(){ 

    function login(){ 
     alert("logged in"); 
    } 

    $("#clickhere").click(function() { 
     login(); 
    }); 

}); 
</script>