このコードがIEで機能しないのはなぜですか?それを修正するのを手伝ってください:
jQuery('body').live('DOMNodeInserted',function(e){
var parent = jQuery(e.target).parent();
parent.find("a").css('color','#AA62C6');
parent.find('a').removeAttr('onmousedown');
});
このコードがIEで機能しないのはなぜですか?それを修正するのを手伝ってください:
jQuery('body').live('DOMNodeInserted',function(e){
var parent = jQuery(e.target).parent();
parent.find("a").css('color','#AA62C6');
parent.find('a').removeAttr('onmousedown');
});
このイベントは IE ではサポートされていません。これは IE9 に追加されましたが、実装にバグがあるようです。
解決策は、ベース (dom を変更するメソッド) レベルで dom 操作を処理することです。
function update(){
//do some dom manipulation
$(window).trigger('customupdatedom', parent);
}
$(window).on('customupdatedom', function(e, parent){
//handle dom change
})
次の
DOMNodeInserted に相当するものを IE で読むこともできますか?
DOMNodeInserted イベント
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');
});
}