Javascript中的变异事件无法正常工作

时间:2011-01-04 23:01:47

标签: javascript xml dom javascript-events mutation-events

我正在尝试使用javascript监听XML结构中的更改。我有以下代码:

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 个答案:

答案 0 :(得分:2)

您的示例都适用于最近的Firefox和Opera,但只有第二个适用于基于WebKit的浏览器(Chrome和Safari)。这看起来像WebKit中的疏忽或错误,虽然我在他们的问题跟踪器中找不到有关它的问题。

答案 1 :(得分:1)

好的,刚刚发现:https://bugs.webkit.org/show_bug.cgi?id=26147

这确实是Webkit中的一个错误。