Динамический обработчик нажатий кнопок jQuery - PullRequest
2 голосов
/ 10 июня 2010

У меня есть код для изменения HTML-кода div для создания кнопки. Когда я создаю обработчик щелчка для динамической кнопки, ничего не происходит

$('#signinup').html("<button id=\"login_submit\">Sign In</button>");

И обработчик:

$('#login_submit').click(function() {
   alert("Works!");
});

Ответы [ 2 ]

9 голосов
/ 10 июня 2010

См. Рабочую демонстрацию:)

Используйте метод live():

$('#login_submit').live('click', function() {
   alert("Works!");
});

Метод live() присоединяет обработчик к событию для всех элементов, которые соответствуют текущему селектору, сейчас или в будущем.

3 голосов
/ 02 января 2012

.live не всегда работает. Много раз это происходит, но недавно я потерпел крах в ситуации, когда я обновляю / загружаю кнопки динамически, что выполняет какое-то действие. Точно так же, как вы видите кнопку Подтвердить запрос в друзья в всплывающем окне запросов на добавление в друзья на Facebook.

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