Cân nhắc mã sau
<ul id="myTask">
<li>Coding</li>
<li>Answering</li>
<li>Getting Paid</li>
</ul>
Bây giờ, đây là sự khác biệt
$('#myTask').children().click(function () {
$(this).remove()
});
Bây giờ, điều gì sẽ xảy ra nếu chúng ta thêm lại myTask?
$(
Nhấp vào mục myTask này sẽ không xóa nó khỏi danh sách, vì nó không có bất kỳ trình xử lý sự kiện nào bị ràng buộc. Nếu thay vào đó chúng tôi đã sử dụng .on
, thì món đồ mới sẽ hoạt động mà không cần thêm nỗ lực nào từ phía chúng tôi. Đây là cách phiên bản .on sẽ trông như thế nào:
$('#myTask').on('click', 'li', function (event) {
$(event.target).remove()
});
Tóm lược:
Sự khác biệt giữa .on()
và .click()
sẽ .click()
không hoạt động khi các phần tử DOM được liên kết với .click()
sự kiện được thêm động vào thời điểm sau đó trong khi .on()
có thể được sử dụng trong các trường hợp mà các phần tử DOM được liên kết với .on()
cuộc gọi có thể được tạo động vào thời điểm sau đó.