jquery在没有单击的情况下执行声明的函数

时间:2009-12-07 09:25:03

标签: javascript jquery

我想知道为什么浏览器显示“已登录”而我没有点击我用clickhere标记的链接。每当我刷新页面时它都会显示它。

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

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

    $("#clickhere").click(login());

 });
</script>

我只想在点击链接时显示它。

问题是什么?

2 个答案:

答案 0 :(得分:5)

您必须在登录JQuerys click()函数后删除()。

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

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

    $("#clickhere").click(login);

 });
</script>

答案 1 :(得分:0)

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

或者您可以像这样更改代码。它只会在点击login()时调用#clickhere

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

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

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

 });
</script>