2011-12-21 37 views
8

Tôi có một div cha mẹ, nói với id = "to-loại bỏ"Làm thế nào để unbind tất cả các sự kiện bên trong một div đặc biệt

div này có nhiều trẻ em divs và mỗi trẻ em cũng div có thể có trong chuyển nhiều divs và mỗi người trong số họ có thể có href và/hoặc sự kiện onclick.

Có cách nào để xóa tất cả các sự kiện này từ bên trong div cha này bằng jquery ..?

+0

Hãy dành chút thời gian để đọc [faq] (http: //stackoverflow.com/faq). Nếu câu trả lời của ai đó đã trả lời câu hỏi của bạn, xin đừng quên nhấp vào dấu kiểm bên cạnh [answer] của họ (http://meta.stackexchange.com/a/5235/171243). –

Trả lời

23

Bạn có thử .unbind():

$('#to-remove *').unbind('click'); // just for click events 
$('#to-remove *').unbind(); // for all events 

Và như jQuery 1.7, các .on().off() phương pháp được ưa chuộng hơn để đính kèm và loại bỏ xử lý sự kiện trên các yếu tố. (Từ .unbind() tài liệu) Vì vậy, nếu bạn đang sử dụng jQuery> 1.7.x thì đây sẽ là tốt hơn:

$('#to-remove *').off(); 
+1

Câu trả lời của bạn có nhiều chi tiết hơn. Cảm ơn bạn. –

+1

Cảm ơn bạn đã trả lời, chỉ unbind không xóa tất cả các sự kiện. Vì vậy, tôi đã sử dụng ba: .unbind ('click'), .attr ('onClick', ''), attr ('href', ''); –

3

Hãy thử:

 
$('#to-remove *').unbind(); 
//or you could assign some class and do 
$('.some-class').unbind(); 
Các vấn đề liên quan