我有以下小例子:
$('body').on('DOMNodeInserted', function (e)
{
console.log('inserted');
});
当我现在通过像
这样的代码添加元素时$('body').append('<div></div>');
事件发生,一切都很好。
然而,当我添加一个像
这样的元素块时$('body').append('<div><strong></strong></div>');
事件将触发我在IE中添加的块中的每个元素(在此示例中为两次)。在其他浏览器中,它只被触发一次。
我如何解决这个问题,以便每个代码块只能调用一次事件?
答案 0 :(得分:0)
也许不是最好的解决方案 - 但你可以这样做:
$.fn.added = function()
{
console.log('inserted');
};
$('body').append('<div></div>').added();
$('body').append('<div><strong></strong></div>').added();