jQuery - Trigger event when an element is removed from the DOM

前端 未结 16 1936
面向向阳花
面向向阳花 2020-11-22 17:29

I\'m trying to figure out how to execute some js code when an element is removed from the page:

jQuery(\'#some-element\').remove(); // remove some element fr         


        
16条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-22 17:44

    an extension to Adam's answer incase you need to prevend default, here is a work around:

    $(document).on('DOMNodeRemoved', function(e){
            if($(e.target).hasClass('my-elm') && !e.target.hasAttribute('is-clone')){
                let clone = $(e.target).clone();
                $(clone).attr('is-clone', ''); //allows the clone to be removed without triggering the function again
    
                //you can do stuff to clone here (ex: add a fade animation)
    
                $(clone).insertAfter(e.target);
                setTimeout(() => {
                    //optional remove clone after 1 second
                    $(clone).remove();
                }, 1000);
            }
        });
    

提交回复
热议问题