【发布时间】:2012-02-14 03:08:37
【问题描述】:
这是一个精简的例子。
请记住,.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() 之后,click 事件不再绑定到按钮上。
从逻辑上讲,我试图让最终用户将消息发布到时间线,然后在时间线中显示该消息而不需要刷新屏幕。
【问题讨论】:
标签: jquery ajax event-handling replacewith