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
})

次の
DOMNodeInserted に相当するものを IE で読むこともできますか?
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 に答える