Tôi đang sử dụng jQuery v.1.7.1 trong đó phương thức .live () rõ ràng không dùng nữa.
Vấn đề tôi gặp phải là khi tải động html vào một phần tử bằng cách sử dụng:
$('#parent').load("http://...");
Nếu tôi thử và thêm một sự kiện nhấp chuột sau đó thì nó không đăng ký sự kiện bằng một trong các phương pháp sau:
$('#parent').click(function() ...);
hoặc là
// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...);
Cách chính xác để đạt được chức năng này là gì? Nó dường như chỉ hoạt động với .live () đối với tôi, nhưng tôi không nên sử dụng phương thức đó. Lưu ý rằng #child là một phần tử được tải động.
Cảm ơn.
.live()
nó, nó sẽ cho bạn biết cách viết lại các cách sử dụng hiện có .live()
để sử dụng .delegate()
hoặc .on()
(tùy thuộc vào việc bạn có ở phiên bản 1.7+ hay không). Lưu ý rằng nếu bạn thêm một trình xử lý với .click()
"sau đó" như bạn đã đề cập, nghĩa là, sau khi tải các phần tử động, nó sẽ hoạt động - vấn đề duy nhất là cố gắng gán .click()
trước khi tải các phần tử động.