MutationObserver наблюдает за изменениями в свойстве offsetHeight? - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь использовать MutationObserver для наблюдения, когда диапазон меняет высоту (когда текст внутри диапазона меняет размер). Но мутации, похоже, не возникают, хотя проверка свойства offsetHeight для span показывает изменение. Изменения свойств не наблюдаются?

let mutationobserverconfig = {
  attributes: true,
  childList: true,
  subtree: true
}; 

function onmutation(mutations) {

  for (let mutation of mutations) {
    log("resizemutationobserver");
    // for
  }

  // onmutation
}

let resizemutationobserver;

function addresizemutationobserver(element, callback) {

// callback is in the module using this function


  resizemutationobserver = new MutationObserver(onmutation);
  let targetnode = $(element)[0];
  resizemutationobserver.observe(targetnode, mutationobserverconfig); //

}

1 Ответ

0 голосов
/ 04 октября 2019

В этом вопросе важно различать attaribute и свойство . Это подробно объясняется в этом ответе .

Элементы HTML имеют атрибуты, и некоторые из них отражаются в свойствах соответствующего интерфейса DOM (узла).

Интерфейс имеет некоторые дополнительные свойства (например, offsetHeight), которые не имеют соответствующих атрибутов HTML.

Поскольку MutationObserver наблюдает изменения, внесенные в атрибуты, он выигралне отслеживать изменения offsetHeight.

...