2010-11-08 10 views

Respuesta

24

Para jQuery 1.8 y después, utilizar

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

addBack() añade la lista original de elementos de $(element) de nuevo a la colección interna de los elementos en poder del objeto jQuery (los devueltos por find("*")). off() elimina todos los controladores de eventos adjuntos, incluidos los que usan delegación.

si lo que desea los niños y no todos los descendientes, utilizan

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

Consulte la documentación:


Para jQuery 1.7 y versiones inferiores, utilice andSelf() en lugar de addBack(). Para jQuery 1.6 y versiones inferiores, use unbind() y die() en lugar de off(). Por ejemplo:

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

gracias, esto desenlazará los eventos de delegado(), o necesito desvincularlos con undelegate() – SystemicPlural

+1

@SystemicPlural: no, no desvinculará esos eventos. Puede usar 'undelegate()' o 'die()' simplemente encadenándolo en el extremo superior. –

0

Utilice el método .unbind() en el elemento.

2

y la función Sí() está obsoleta.

Uso add() Función:

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

Creo que solo se puede reemplazar 'addSelf()' por 'addBack()' – Marc

+1

ySelf() está en desuso, $ (elemento) .children(). AddBack() es equivalente a $ (elemento) .add ("*") –

+1

No son equivalentes. Este último (su respuesta) selecciona cada elemento en el DOM. Para corregir esto, debe dar contexto al selector "*", es decir, '$ (elemento) .add (" * ", elemento) .off();' – Jools

0

Ésta no es una respuesta, pero vale la pena mencionar.

He usado un complemento de terceros sin un método de destrucción. Encontré esta solución pero no funcionó al principio hasta que comencé a profundizar en la documentación.

Tenga en cuenta que si el complemento está creando un oyente $(document).on(event, handler) en su objeto, debe eliminar la acción escribiendo $(document).off(event, 'element, element *'). Simplemente escribiendo $(element).find("*").addBack().off(); no funcionará si el oyente principal es el document.

Cuestiones relacionadas