为什么这段代码在IE中不起作用?请帮忙解决它:
jQuery('body').live('DOMNodeInserted',function(e){
var parent = jQuery(e.target).parent();
parent.find("a").css('color','#AA62C6');
parent.find('a').removeAttr('onmousedown');
});
答案 0 :(得分:2)
IE中不支持此事件。这被添加到IE9中,但在实现中似乎有些错误。
解决方案是处理基础上的dom操作(更改dom的方法)级别。
function update(){
//do some dom manipulation
$(window).trigger('customupdatedom', parent);
}
$(window).on('customupdatedom', function(e, parent){
//handle dom change
})
您还可以阅读以下内容
DOMNodeInserted equivalent in IE?
DOMNodeInserted event
答案 1 :(得分: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');
});
}