jQuery在删除无法正常工作的父节点上触发empty() [英] jQuery on remove not working parent node fire empty()

查看:75
本文介绍了jQuery在删除无法正常工作的父节点上触发empty()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用jQuery ajax.根据答案,我删除或添加.但是jQuery.on函数不起作用.

I use jQuery ajax. According to the answer I remove or add. But jQuery.on function not working.

示例:

<div id="selector">
    <span>Hello World</span>
</div>

$(document).ready(function(){
    $(document).on('remove','span',function(){
        alert(" first object object deleted");
    });

    setTimeout(function(){
        $('#selector').empty();
    },3000);
});

jsFiddle.net https://jsfiddle.net/1zuau1f6/5/

jsFiddle.net https://jsfiddle.net/1zuau1f6/5/

我的问题不被理解.问题我正在纠正..

edit: my question is not understood. Question I am correcting..

-更新--

我在jquery.ui框架中找到解决方案

i find solution in jquery.ui framework

$.cleanData = ( function( orig ) {
    return function( elems ) {
        var events, elem, i;
        for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {
            try {

                // Only trigger remove when necessary to save time
                events = $._data( elem, "events" );
                if ( events && events.remove ) {
                    $( elem ).triggerHandler( "remove" );
                }

                // Http://bugs.jquery.com/ticket/8235
            } catch ( e ) {}
        }
        orig( elems );
    };
} )( $.cleanData );

推荐答案

两个问题:

1)您必须包括jquery UI库才能使用remove事件.

1) You have to include jquery UI library to use remove event.

2)事件委托不适用于remove.因此使用:

2) event delegation does not work with remove. thus use:

$('div').on('remove',function(){
    alert(" first object object deleted");
});

工作演示

Working Demo

这篇关于jQuery在删除无法正常工作的父节点上触发empty()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆