DOMNodeInserted事件在IE中多次触发

时间:2014-12-02 10:07:11

标签: javascript jquery

我有以下小例子:

$('body').on('DOMNodeInserted', function (e)
{
    console.log('inserted');
});

当我现在通过像

这样的代码添加元素时
$('body').append('<div></div>');

事件发生,一切都很好。

然而,当我添加一个像

这样的元素块时
$('body').append('<div><strong></strong></div>');

事件将触发我在IE中添加的块中的每个元素(在此示例中为两次)。在其他浏览器中,它只被触发一次。

我如何解决这个问题,以便每个代码块只能调用一次事件?

1 个答案:

答案 0 :(得分:0)

也许不是最好的解决方案 - 但你可以这样做:

$.fn.added = function()
{
    console.log('inserted');
};

$('body').append('<div></div>').added();
$('body').append('<div><strong></strong></div>').added();