0

为什么这段代码在 IE 中不起作用?请帮助修复它:

jQuery('body').live('DOMNodeInserted',function(e){
    var parent = jQuery(e.target).parent();
    parent.find("a").css('color','#AA62C6');
    parent.find('a').removeAttr('onmousedown');
});
4

2 回答 2

2

IE 不支持此事件。这被添加到 IE9,但在实现中似乎有问题。

一个解决方案是在基础(更改 dom 的方法)级别处理 dom 操作。

function update(){
    //do some dom manipulation
    $(window).trigger('customupdatedom', parent);
}
$(window).on('customupdatedom', function(e, parent){
    //handle dom change
})

您还可以
在 IE 中阅读以下 DOMNodeInserted 等效项吗?
DOMNodeInserted 事件

于 2013-02-22T07:06:35.363 回答
0

对 IE使用onreadystatechange :

var parent;

if (!!document.addEventListener)
  {
  jQuery('body').live('DOMNodeInserted',function(e){
    parent = jQuery(e.target).parent();
    parent.find("a").css('color','#AA62C6');
    parent.find('a').removeAttr('onmousedown');
    });
  }
else
  {
  jQuery("body").get(0).addBehavior("foo.htc");
  jQuery('body').get(0).attachEvent('onreadystatechange',function(e){
    parent = jQuery(e.target).parent();
    parent.find("a").css('color','#AA62C6');
    parent.find('a').removeAttr('onmousedown');
    });  
  }
于 2013-07-06T04:22:54.270 回答