web-dev-qa-db-fra.com

Jquery Remove All Event Handlers Inside Element

J'ai un élément div avec plusieurs éléments à l'intérieur comme des boutons et ainsi de suite qui ont des gestionnaires d'événements attachés à eux. Je sais que c'est possible d'aller:

$("#button1").off()

Pour supprimer le gestionnaire d'un bouton, mais je voudrais faire quelque chose comme ceci si possible:

$("#div1").removeChildHandlers();

Existe-t-il une fonction native dans JQuery pour ce faire ou devrais-je les boucler tous les éléments et supprimer 1 par 1?

29
Nuvolari

jQuery fera la boucle pour vous uniquement pour les enfants directs:

$("#div1").children().off();

ou si vous voulez tous les descendants:

$("#div1").find("*").off();
35
jfriend00

Est-ce que cela aide:

$("#div1").find('*').off();
3
Akhil Sekharan

Essayez avec

$("#div1 >* ").off();

Ou:

$("#div1").find('button').off();

si vous parlez de <button> éléments

1
Roko C. Buljan