相关疑难解决方法(0)

观察目标节点上尚不存在的突变

是否有可能在DOM节点上观察到尚不存在的突变?

例:

我的应用程序在某些时候创建了一个div : <div id="message" data-message-content="foo" data-message-type="bar" />.

我想留意这个div的创造和变化.

var mutationObserver = new MutationObserver(function(mutations){
  // Some code to handle the mutation.
});

mutationObserver.observe(
    document.querySelector('#message'),
        { 
            attributes: true, 
            subtree: true, 
            childList: true, 
            characterData: false 
        }
    );
);
Run Code Online (Sandbox Code Playgroud)

现在这会返回一个错误,因为它#message是null(尚未创建div).

Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.

一个明显的解决方案是观察body和检查是否有任何突变div#Message,但这似乎是一个坏主意/或可能不利于性能.

javascript mutation-observers

19
推荐指数
1
解决办法
5060
查看次数

标签 统计

javascript ×1

mutation-observers ×1