Firefox Not Obeying变种观察器中的childList配置参数

时间:2014-05-21 15:22:29

标签: javascript html5 mutation-observers

以下是我宣布变异观察者的方式:

observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        switch (mutation.type) {
            case 'childList':
                // Do Stuff
            break;
        }
    })

observer.observe(
    document.getElementById('contentEditableElement'), 
    {
        attributes: false, 
        childList: true, 
        characterData: false
    }
);

以上代码在Chrome中完全正常。当我将HTML元素拖放到内容可编辑区域时,观察者会在元素直接放在两者上直接在观察元素上以及将元素放入观察元素的子元素时触发。

在FireFox(v 29.0.1)中,只有在将元素直接添加到观察元素而不是其子元素时,观察者才会触发。为什么呢?

1 个答案:

答案 0 :(得分:0)

你忘记了

subtree: true

应该是

document.getElementById('contentEditableElement'), 
    {
        attributes: false, 
        childList: true, 
        characterData: false,
        subtree: true
    }