检测javascript中的div更改

时间:2015-04-02 05:02:06

标签: javascript html dom detection

我正在开发一个小的chrome扩展程序以获得乐趣,而我需要做的一件事就是检测div中的文本何时被网页本身更改。我正在使用的代码是:

var status = document.getElementById("status").innerHTML;
status.onchange = function() {
    console.log("CHANGE DETECTED")

这似乎不起作用,所以我应该使用什么呢?

注意:我不想使用jquery,因为我目前对javascript并不十分熟悉,但如果它更简单/更容易,那就没关系了。

2 个答案:

答案 0 :(得分:1)

您无法使用change事件执行所需操作。在较新的浏览器上,您可以使用Mutation Observers。在较旧的浏览器上......好吧,你要求人们升级到更新的浏览器。 :P

答案 1 :(得分:0)

使用此技巧

来源:https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/

// select the target node
    var target = document.querySelector('#some-id');

    // create an observer instance
    var observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            console.log(mutation.type);
        });
    });

    // configuration of the observer:
    var config = { attributes: true, childList: true, characterData: true }

    // pass in the target node, as well as the observer options
    observer.observe(target, config);

    // later, you can stop observing
    observer.disconnect();