jQuery remove()回调?

有没有官方的方法来挂钩到jQuery.remove(),以便可以在之前/之后调用一个函数?

我有一个系统,其中某些处理程序附加到元素,有时这些元素被删除(例如,一个UI小部件,其主要元素被页面上的一些其他操作删除)。 如果可以通知处理程序他们的主要元素已被删除,我可以更轻松地运行清理例程。

你可以使用jQuery.when() :

$.when($('div').remove()).then( console.log('div removed') ); 

使用自定义事件,将处理程序附加到在删除之前/之后触发的自定义事件。 例如,

 $( document ).bind( 'remove', function( event, dom ){ $( document ).trigger( 'beforeRemove', [ dom ] ); $( dom ).remove(); $( document ).trigger( 'afterRemove', [ dom ] ); }); $( document ).trigger( 'remove', 'p' ); //Remove all p's 

这是一个漂亮的黑客 – 你可能想尝试一下。

 $('div').hide(1, function(){ // callback $(this).remove(); });