JQuery выполняет объявленную функцию без моего нажатия - PullRequest
0 голосов
/ 07 декабря 2009

Интересно, почему в браузере отображается «залогинен», а я не нажал на ссылку, помеченную тегом clickhere. он отображается каждый раз, когда я обновляю страницу.

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

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

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

 });
</script>

Я просто хочу, чтобы он отображался при нажатии на ссылку.

в чем проблема?

Ответы [ 2 ]

5 голосов
/ 07 декабря 2009

Вы должны удалить () после входа в JQuerys щелкнуть () функцией.

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

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

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

 });
</script>
0 голосов
/ 07 декабря 2009

Вы должны передать метод в click() jQuery. login() означает выполнение метода входа в систему. Вы должны правильно передать метод, как ammoQ сказал .

Или вы можете изменить свой код следующим образом. Он будет вызывать login() только при нажатии #clickhere.

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

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

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

 });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...