2013-02-05 45 views
26

Tôi đã sử dụng live() cho các trang và khung được tạo. Nhưng trong jQuery 1.9 chức năng này không còn được dùng nữa và không hoạt động.jQuery - cách sử dụng phương thức "on()" thay vì "live()"?

Tôi sử dụng on() thay vì live() nhưng phương pháp này hoạt động một lần và không hoạt động trong khung.

Mã của tôi trông như thế này:

$("#element").live('click',function(){ 
    $("#my").html(result); 
    }); 

giải pháp là gì?

+6

[Đọc tài liệu] (http://api.jquery.com/on/). Ủy quyền trình xử lý sự kiện cao hơn lên cây DOM. –

+6

[tài liệu cho '.live()'] (http://api.jquery.com/live/) cũng có một phần cụ thể về việc chuyển đổi từ '.live()' sang '.on()'. –

Trả lời

68
$('body').on('click', '#element', function(){ 
    $("#my").html(result); 
}); 

Các nhấp chọn yếu tố hiện đang trải qua các thông số chức năng .on(), và bộ chọn trước đó nên được thay thế bằng bộ chọn cha mẹ gần gũi nhất tốt hơn với một ID. Nếu bạn không biết chọn bộ chọn gốc nào, thì body cũng hoạt động nhưng hiệu quả kém hơn.

xem jQuery 1.9 .live() is not a function về cách di chuyển mã hiện có.

+0

Cảm ơn bạn đã trả lời hữu ích này, đã làm việc cho tôi. – Farhad

+0

thanx ... câu trả lời hay ... –

Các vấn đề liên quan