首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MutationObserver检查div高度(mutation.type)

MutationObserver检查div高度(mutation.type)
EN

Stack Overflow用户
提问于 2016-01-17 14:42:18
回答 2查看 10.4K关注 0票数 1

我希望使用MutationObserver来听div的高度,但是当我将文本添加到我试图观察的元素的innerHTML中时,它并不会触发。

html:

代码语言:javascript
复制
<button onclick="myFunction()">click me</button>
<div id="support"></div>
<div id="info"></div>
<div id="text"></div>

联署材料:

代码语言:javascript
复制
var myFunction = function() {
  var tmp = document.getElementById('text').innerHTML;
  document.getElementById('text').innerHTML = tmp + "herro<br>";
};

if ("MutationObserver" in window) {
  document.getElementById('support').innerHTML = "MutationObserver supported";
  var observer = new MutationObserver(function (mutations) { // <- this isn't firing
    mutations.forEach(function (mutation) {
      var tmp = document.getElementById('info').innerHTML;
      document.getElementById('info').innerHTML = tmp + mutation.type + "<br>";
    });
  });

  var observerConfig = {
    attributes: true,
    childList: true,
    characterData: true
  };
  nodes
  var targetNode = document.getElementById('text');
  observer.observe(targetNode, observerConfig);
}

代码:http://codepen.io/basickarl/pen/xZXWoK?editors=101

我想知道我做错了什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-17 15:05:14

控制台显示:Uncaught ReferenceError: nodes is not defined

删除nodes行为我修复了它:http://codepen.io/anon/pen/jWGdqO?editors=101

祝好运!

票数 0
EN

Stack Overflow用户

发布于 2022-11-03 16:12:59

MutationObserver不适用于自动高度更改--它用于属性/DOM更改/修改。但是ResizeObserver正是针对这个用例而设计的:

代码语言:javascript
复制
new ResizeObserver(function() {
  console.log("height of yourElement changed to:", yourElement.offsetHeight);
}).observe(yourElement);

所有现代浏览器都支持它:https://caniuse.com/resizeobserver

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34839583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档