2016-07-13 2 views
-3

У меня есть html с подключенным файлом js, он работает.Почему Jquery не прослушивает событие?

Когда я пытаюсь написать $('#userAdd').click(addUser); в Google Консоли (Инспектор).

Мои JS .click выглядит следующим образом:

$(document).ready(function() { 
    $('#userAdd').click(addUser()); 
}); 

Html элемент выглядит следующим образом:

<div class="row">          
    <div class="form-group col-md-12"> 
     <div class="col-md-12"> 
<input id="userAdd" type="submit" value="Add" class="btn col-md-12 btn-primary "> 
     </div> 
    </div> 
</div> 

Я положил некоторые контрольные точки в "Источники" инспектора на моем .click и он работает только когда страница загружается или перезагружается.

Update: теперь все работает раствор

$('#userAdd').click(function() { addUser(); }); 

И это один не работает по какой-то причине

$('#userAdd').click(addUser); 
+1

У вас есть ошибки? – Li357

+3

Удалите внутреннюю скобку в 'click (addUser())'. Это должен быть 'click (addUser)'. Скобка после имени функции вызывает ее немедленно. – j08691

+0

@AndrewL. Нет, консоль абсолютно ясна. –

ответ

4

Это:

$('#userAdd').click(addUser()); 
          ^^ 

Поскольку у вас есть (), в addUser функция НЕМЕДЛЕННО называется, а ее возвращаемое значение - это то, что становится аргумент click(). Попробуйте

$('#userAdd').click(addUser); 
or $('#userAdd').click(function() { addUser(); }); 

вместо этого.

+0

@ Marc B.Wow, так что теперь я понимаю, почему мой дебют был таким пугающим: DDD Спасибо. Также помогло решить проблему @ я вернулся –

+0

Спасибо. Он решил мою проблему –

Смежные вопросы