События мутации в Javascript не работают
Я пытаюсь прослушать изменения в структуре XML, используя JavaScript. У меня есть следующий код:
var doc = document.implementation.createDocument("", "root", null);
doc.addEventListener("DOMNodeInserted", function(event) {
alert("changed!");
}, false);
doc.documentElement.appendChild(doc.createElement("test"));
Это не работает. Однако следующий код работает:
document.addEventListener("DOMNodeInserted", function(event) {
alert("changed!");
}, false);
document.body.appendChild(doc.createElement("button"));
Что мне здесь не хватает?
2 ответа
Решение
Оба ваших примера работают в недавних Firefox и Opera, но только второй работает в браузерах на основе WebKit (Chrome и Safari). Это похоже на упущение или ошибку в WebKit, хотя я не могу найти проблему в их системе отслеживания проблем.
Хорошо, только что нашел это: https://bugs.webkit.org/show_bug.cgi?id=26147
Это действительно ошибка в Webkit.