Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jquery Remove All Event Handlers Inside Element

I have a div element with several elements inside it like buttons and so forth which have event handlers attached to them. I know its possible to go:

$("#button1").off() 

To remove the handler for a button but I would like to do something like this if possible:

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

Is there a native function in JQuery to do this or would I have to loop them all the elements and remove 1 by 1?

like image 758
Nuvolari Avatar asked Dec 19 '12 03:12

Nuvolari


People also ask

Which jQuery function removes previously attached event handlers on the element?

The . off() method removes event handlers that were attached with .

How do I remove all event listeners?

You can remove all event listeners from a DOM element in Javascript by replacing the element with a deep clone of itself. elem. cloneNode(...) will not clone the event listeners of the source element.

What is unbind in jQuery?

jQuery unbind() Method The unbind() method removes event handlers from selected elements. This method can remove all or selected event handlers, or stop specified functions from running when the event occurs. This method can also unbind event handlers using an event object.

What is bind and unbind in jQuery?

jQuery bind() function is used to attach an event handler to elements, while the unbind() is used to detached an existing event handler from elements.


1 Answers

jQuery will do the looping for you for just the direct children:

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

or if you want all descendants:

$("#div1").find("*").off(); 
like image 57
jfriend00 Avatar answered Sep 19 '22 11:09

jfriend00