При выполнении .replaceWith () в jQuery привязки событий не сохраняются

Вот сокращенный пример.

Имейте в виду, что .chat-reply класс имеет привязанный к нему обработчик события щелчка.

HTML (кнопка ответа):

<div class="container">
    <a href="#" class="btn small chat-reply">Reply</a>
</div>

Эта функция jQuery вызывается, когда кто-то нажимает другую кнопку , которая отправляет сообщение на сервер для сохранения в база данных. Это делается с помощью ajax и выполняется успешно. В вышеупомянутом обратном вызове .ajax () success () эта функция вызывается:

$.ajax({
      type      :  'GET',
      url       :  '/some_controller/some_method',
      success   :  function(data) {

      $('.container').replaceWith(data);
    }
});

«Данные» в приведенном выше обратном вызове успеха заменят целиком .container div, включая дочернюю кнопку .chat-reply. После этого replaceWith () событие щелчка больше не привязано к кнопке.

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

7
задан generalopinion 14 February 2012 в 03:08
поделиться