Đây là một ví dụ được cô đặc.Khi thực hiện một .replaceVới() trong jQuery, các ràng buộc sự kiện không được giữ nguyên
Hãy nhớ rằng lớp .chat-reply có trình xử lý sự kiện nhấp chuột được liên kết với nó.
HTML (Reply Button):
<div class="container">
<a href="#" class="btn small chat-reply">Reply</a>
</div>
chức năng jQuery này được gọi là khi ai đó nhấp khác nút đó gửi một thông điệp đến máy chủ để được lưu trong cơ sở dữ liệu. Điều này được thực hiện thông qua ajax và được thực hiện thành công. Trong sự thành công nói trên .ajax()() gọi lại chức năng này được gọi là:
$.ajax({
type : 'GET',
url : '/some_controller/some_method',
success : function(data) {
$('.container').replaceWith(data);
}
});
Các 'dữ liệu' trong khi gọi lại thành công trên sẽ thay thế toàn bộ div .container bao gồm cả con nút .chat trả lời. Sau hàm replaceWith() này, sự kiện click không còn bị ràng buộc với nút nữa.
Về mặt logic, tôi đang cố gắng để người dùng cuối đăng thông báo lên dòng thời gian, sau đó hiển thị thông báo đó trong dòng thời gian mà không cần cần làm mới màn hình.
của bạn ví dụ mã là một chút bối rối với tôi. Nếu bạn không nhớ làm rõ một chút, điều đó sẽ rất tuyệt. – generalopinion
Sry khối đã chỉ chỉ từ cũ 'sống' để 'trên' nhưng ví dụ của Vigrond là làm thế nào bạn làm một 'trên'. Nó sẽ gần như tốt hơn để đính kèm sự kiện sau khi nhận được html trong cuộc gọi lại của bạn. –