javascript - 调整大小观察者 : How to retrieve the Id of the resized element?

标签 javascript

我正在使用 ResizeObserver 观察多个文本区域。 “for (let entry of entries)”循环枚举所有条目,但我只需要已调整大小的元素的 id。我试过 this.id 但它没有定义。

var myObserver = new ResizeObserver(entries => {

console.log(this.id);
  for (let entry of entries) {
    // do something
  }
});

var boxes = document.querySelectorAll('textarea');
boxes.forEach(box => {
  myObserver.observe(box);
});

最佳答案

多个文本区域可以同时更改/调整大小,因此需要使用数组来跟踪每个更改。然而,大多数时候,只有一个元素会调整大小。在这种情况下,您可以从 entries 中获取第一个元素,并获取其 target.id 值:

const myObserver = new ResizeObserver(entries => {
  const [changed] = entries;
  console.log(changed.target.id);
});

const boxes = document.querySelectorAll('textarea');
boxes.forEach(box => {
  myObserver.observe(box);
});
<textarea id="1">1</textarea>

<textarea id="2">12</textarea>

<textarea id="3">123</textarea>

关于javascript - 调整大小观察者 : How to retrieve the Id of the resized element?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58523267/

相关文章:

javascript - 如何在javascript中对自定义对象执行小于/大于比较

javascript - ExtJS 组合框过滤器

javascript - 从另一个页面显示隐藏的 div onclick

javascript - 是否可以使用 webpack 加载 twilio.js 库?

javascript - 如何在 Phaser JS 中实现冲刺能力?

javascript - 如何将英语中的动词变成现在分词

javascript - 如何阻止 babel 将 'this' 转换为 'undefined' (并插入 "use strict")

javascript - AngularJS 1.5.x 中的嵌套列表以及正确的 ng-model 和 ng-value

javascript - 删除元素,但保留所有数据和事件绑定(bind)

javascript - D3.js 对象中的超链接,第 2 部分