Вот сокращенный пример.
Имейте в виду, что классу .chat-reply привязан обработчик события click.
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 () событие click больше не привязано к кнопке.
Логически я пытаюсь, чтобы конечный пользователь отправил сообщение на временную шкалу, а затем отобразил это сообщение на временной шкале без необходимости обновить экран.