是否有任何onDocumentChange事件?

Jak*_*han 6 javascript events internet-explorer

在Internet Explorer中是否有任何事件,只要DOM被更改就会被触发?例如:

document.attachEvent("ondocumentchange", function () {
    alert("you've just changed DOM!");
});
Run Code Online (Sandbox Code Playgroud)

当我执行时:

document.appendChild(document.createElement("img"));
Run Code Online (Sandbox Code Playgroud)

带有文字的窗口"你刚刚改变了DOM!" 出现.

我尝试使用Javascript在IE6中模拟"高级"CSS选择器(例如+,>,[attr]).但是,要与动态内容一起正常工作,必须在每次更改文档后重新计算它们.

Jak*_*han 9

蛮力"解决方案":

(function (previousInnerHTML) {
    return function () {
        if (document.body.innerHTML !== previousInnerHTML) {
            alert("you've just (at max 33ms ago) changed DOM");
        }
        setTimout(arguments.callee, 33);
    };
})(document.body.innerHTML)();
Run Code Online (Sandbox Code Playgroud)