DOMNodeInserted в IE

Почему этот код не работает в IE? Пожалуйста, помогите исправить:

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

person AkiraYamaokaNC    schedule 22.02.2013    source источник


Ответы (2)


Это событие не поддерживается в IE. Это добавлено в IE9, но в реализации есть ошибки.

Решением будет обработка манипулирования домом на базовом уровне (метод, изменяющий дом).

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

Вы также можете прочитать следующий
эквивалент DOMNodeInserted в IE?
событие DOMNodeInserted

person Arun P Johny    schedule 22.02.2013
comment
Спасибо за вашу помощь, но когда я пытаюсь применить ее к своей проблеме, она все равно не работает. - person AkiraYamaokaNC; 22.02.2013
comment
Я хочу изменить параметры css до загрузки страницы. Есть два тега html-ссылки для импорта css. - person AkiraYamaokaNC; 22.02.2013

Используйте onreadystatechange для IE:

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');
    });  
  }
person Paul Sweatte    schedule 06.07.2013