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(); });