jQuery的remove()回调?

发布于 2024-12-07 13:36:32 字数 155 浏览 1 评论 0原文

是否有官方方法可以挂钩 jQuery.remove() 以便可以在之前/之后调用函数?

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

Is there an official way to hook in to jQuery.remove() so that a function can be called before/after?

I have a system whereby certain handlers are attached to elements, and sometimes these elements are removed (eg. a UI widget whose primary element is removed by some other action on the page). If handlers could be notified that their primary element was removed, I can run cleanup routines a little easier.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

毁虫ゝ 2024-12-14 13:36:32

您可以使用 jQuery.when()

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

you can use jQuery.when():

$.when($('div').remove()).then( console.log('div removed') );
错々过的事 2024-12-14 13:36:32

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

$( document ).bind( 'remove', function( event, dom ){

    $( document ).trigger( 'beforeRemove', [ dom ] );
    $( dom ).remove();
    $( document ).trigger( 'afterRemove', [ dom ] );
});

$( document ).trigger( 'remove', 'p' ); //Remove all p's

Use a custom event, attach handlers to the custom event that fire before/after the remove. For example,

$( document ).bind( 'remove', function( event, dom ){

    $( document ).trigger( 'beforeRemove', [ dom ] );
    $( dom ).remove();
    $( document ).trigger( 'afterRemove', [ dom ] );
});

$( document ).trigger( 'remove', 'p' ); //Remove all p's
北城半夏 2024-12-14 13:36:32

这是一个巧妙的技巧 - 你可能想尝试一下。

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

Here's a nifty hack - you might wanna give it a try.

$('div').hide(1, function(){
    // callback
    $(this).remove();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文