按下空格时MutationObserver调用了两次

时间:2019-07-17 14:41:19

标签: javascript html

我为内容可编辑div创建了一个观察者。 当我按下空格键时,它会被调用两次。

// Write TypeScript code!
var appDiv: HTMLElement = document.createElement('div');

document.getElementById('app').appendChild(appDiv)
appDiv.setAttribute('contenteditable','true');
appDiv.innerText = 'Hello there';
var config = {    
  subtree: true,
    characterData: true,};
// Callback function to execute when mutations are observed
var callback = function(mutationsList, observer) {
    for(var mutation of mutationsList) {
      console.log(mutation)
    }
};

// Create an observer instance linked to the callback function
var observer = new MutationObserver(callback);

// Start observing the target node for configured mutations
observer.observe(appDiv, config);

任何人都可以解释一下吗?这是预期的行为吗? 现场演示:stackblitz 如果您打开console并打了一个空格,就会看到有两个MutationRecord 我在Chrome上进行了测试,但是在Firefox上,我得到了三个记录,而不是两个记录。 PS:对于其他任何敲击的按键,您都有一个突变记录,但是,如果在按下空格键后再按另一个字母,在这种情况下,您还会得到两个突变记录。

0 个答案:

没有答案