Search code examples
javascriptjqueryevent-handling

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?


Solution

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

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

    or if you want all descendants:

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