Событие клика Jquery не запускается на ранее скрытом div

Я загружаюпароль сброса неуспеха-сообщение» разделить на 'восстановление пароля' div динамически, как показано в следующем фрагменте.'пароль сброса неуспеха-сообщение» div скрыт при загрузке страницы и перезаписываетсявосстановление пароля' div, как показано ниже.

    $("#password-reset").html($("#password-reset-success-message").html());

Теперь 'пароль сброса неуспеха-сообщение» у div естьbtnPasswordResetOK» Кнопка, которая закроет модальное диалоговое окно сброса пароля. Но это событие click () не связывается. Я не получаю сообщение с предупреждением. Я делаю все это, завернутый в документ, готов.

     $(document).ready(function(){  

       $("#btnPasswordResetOK").click(function() {

         alert();
       });

    });

Замечания:Этот вопрос почти похож на мой вопрос..но нет ответов на это.

ОБНОВИТЬ : Я связал после обновления HTML со скрытым div, и это работает! , фрагмент кода ниже

      $("#password-reset").html($("#password-reset-success-message").html());

       $("#btnPasswordResetOK").click(function() {

            alert();
       });
 cherit14 нояб. 2012 г., 15:43
@kleinkie yes #btnPasswordResetOK кнопка находится внутри скрытого элемента div, я постараюсь связать кнопку после обновления html и вернуться к вам.
 cbillowes14 нояб. 2012 г., 15:58
круто - просто убедитесь, что все сценарии вашего потока работают (html заменяется чем-то другим, содержащим другую кнопку) и т. д.
 cherit14 нояб. 2012 г., 15:49
@kleinkie связал событие кнопки после обновления, и это работает! благодарю вас.
 ᾠῗᵲᄐᶌ14 нояб. 2012 г., 17:01
@TitoCheriachan да, связывание после создания тоже работает .. но использовать делегирование проще, так как вы нене нужно иметь привязку клика внутри другой функции.
 cherit14 нояб. 2012 г., 17:16
@wirey Я тоже попробую делегирование, так как оно отделит код от внешней функции.
 cbillowes14 нояб. 2012 г., 15:38
такое #btnPasswordResetOK часть html сообщения # password-reset-success-message? Что произойдет, если вы связываете кнопку после обновления HTML или если вы измените щелчок, чтобы жить?
 Lowkase14 нояб. 2012 г., 15:37
Необходимо увидеть ваш HTML, пожалуйста.
 cbillowes14 нояб. 2012 г., 15:47
Я думаю, что live может на самом деле сделать свое дело (Описание: Присоедините обработчик событий для всех элементов, которые соответствуют текущему селектору, сейчас и в будущем.)api.jquery.com/live в отличие от щелчка (Описание: привязать обработчик события к "нажмите» JavaScript событие, или вызвать это событие на элементе.)api.jquery.com/click

Ответы на вопрос(3)

$(selector).live(events, data, handler);                // jQuery 1.3+
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+
$(document).on(events, selector, data, handler);        // jQuery 1.7+

Ваш контент не появляется на странице, когда готовое событие инициируется. Вы генерируете элементы и контент динамически, поэтому вы должны использовать live / on обработчик событий.

Решение Вопроса

делегировать его родительскому элементу, к которому вы добавляете html

при использовании jQuery 1.7+ с .on ()

$("#password-reset").on('click','#btnPasswordResetOK',function(){

})

с делегатом

$("#password-reset").delegate('#btnPasswordResetOK','click',function(){

})

Из документов JQuery, какой метод использовать

$ (селектор) .live (события, данные, обработчик); // jQuery 1.3+

$ (документ) .delegate (селектор, события, данные, обработчик); // jQuery 1.4.3+

$ (документ) .on (события, селектор, данные, обработчик); // jQuery 1.7+

Делегируя, вы связываете обработчик события со статическим родительским элементом, который неизменить и существует во время привязки. Вы указываете элемент и события, которые хотите прослушать, и когда событие всплывет, оно будет обработано статическим родительским элементом.

Попробуйте использоватьжить'

$(document).on(events, selector, data, handler);  
 bwicklund14 нояб. 2012 г., 15:41
Исправлено, спасибо!
 SlashmanX14 нояб. 2012 г., 15:39
Как говорится в вашей ссылке,live амортизируетсяon следует использовать вместо

Ваш ответ на вопрос