ResizeObserver 监控dom标签变化

  • ResizeObserver 接口可以监听到 Element 的内容区域或 SVGElement的边界框改变
  • ResizeObserver避免了在自身回调中调整大小,从而触发的无限回调和循环依赖。
    它仅通过在后续帧中处理DOM中更深层次的元素来实现这一点。如果(浏览器)遵循规范,
    只会在绘制前或布局后触发调用。

使用

  • 构造器

    1
    2
    3
    4
    5
    6
    const Observer =new ResizeObserver(entries=>{
    entries.forEach(entry=>{
    console.log('大小位置', entry.contentRect);
    console.log('监听的DOM', entry);
    })
    })
  • 添加监听dom对象

1
Observer.observe(document.querySelector('.element'));