首页 > 解决方案 > 为什么 ResizeObserver 构造函数回调接受条目数组而不是单个条目?

问题描述

考虑到ResizeObserver 构造函数,它的第一个参数是一个回调,它接受两个参数,第一个是一个ResizeObserverEntry对象数组,这些条目之间有什么区别(如果有的话)?

标签: javascriptdom

解决方案


可以用简单的话来解释:

  • 每次您调用.observe(newElement)一个新条目时,都会将一个新条目添加到回调中的列表(末尾) - 除非该元素已经被观察到。
  • 如果您调用.unobserve(newElement),则会从列表中删除相应的条目。
  • 在简单的情况下,您可以使用entries[index],如果您知道索引 - 例如,总是只有一个条目:entries[0].
  • 在迭代条目列表时,entry.target您可以看到观察到的元素。

推荐阅读