2010-11-08 13 views

risposta

24

Per jQuery 1.8 e successive, utilizzare

$(element).find("*").addBack().off(); 

addBack() aggiunge l'elenco originale di elementi $(element) indietro alla raccolta interna di elementi detenuta dall'oggetto jQuery (quelli restituiti da find("*")). off() rimuove tutti i gestori di eventi collegati, inclusi quelli che utilizzano la delega.

se si desidera solo i bambini e non tutti i discendenti, usano

$(element).children().addBack().off(); 

Vedere la documentazione:


Per jQuery 1.7 e versioni precedenti, utilizzare andSelf() anziché addBack(). Per jQuery 1.6 e versioni precedenti, utilizzare unbind() e die() anziché off(). Ad esempio:

$(element).children().andSelf().unbind().die(); 
+0

grazie, sarà questo eventi di delegate unbind(), o ho bisogno di separarli con undelegate() – SystemicPlural

+1

@SystemicPlural: no, non separerà tali eventi. Puoi usare 'undelegate()' o 'die()' semplicemente concatenandolo alla fine sopra. –

0

Utilizzare il metodo .unbind() sull'elemento.

2

eSelf() la funzione è obsoleta.

Usa add() funzione:

$(element).add("*").off(); 
+0

Penso che si possa solo sostituire 'addSelf()' per 'addBack()' – Marc

+1

eSelf() è deprecato, $ (elemento) .children(). AddBack() è equivalente a $ (elemento) .add ("*") –

+1

Non sono equivalenti. Quest'ultimo (la tua risposta) seleziona ogni elemento nel DOM. Per correggere ciò è necessario dare contesto al selettore "*", ad esempio '$ (elemento) .add (" * ", elemento) .off();' – Jools

0

Questa non è una risposta, ma vale la pena ricordare.

Avevo utilizzato un plug-in di terze parti senza un metodo di distruzione. Ho trovato questa soluzione ma non ha funzionato all'inizio finché non ho iniziato a scavare più a fondo nella documentazione.

Si noti che se il plug-in crea un listener $(document).on(event, handler) sull'oggetto, è necessario rimuovere l'azione scrivendo $(document).off(event, 'element, element *'). La semplice scrittura di $(element).find("*").addBack().off(); non funzionerà se il listener principale è il document.

Problemi correlati