为什么 ResizeObserver 构造函数回调接受条目数组而不是单个条目?

Mat*_*vic 9 javascript dom

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

小智 7

可以用简单的话来解释:

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