Javascript:将滚动或调整大小事件绑定(bind)到哪个元素更好?

标签 javascript dom

我总是看到人们将 scrollresize 事件绑定(bind)到 window 元素

如何将这些事件绑定(bind)到 documentdocument.documentElement 甚至 document.body 元素?

有什么缺点吗?

最佳答案

Resize 事件仅由 window 元素支持,因此将它绑定(bind)到任何其他元素将不起作用。我希望能够处理任何元素的调整大小,但没有要绑定(bind)的 native 事件,因此当我需要处理调整大小时,我必须每隔 XXX 毫秒检查一次元素大小。

另一方面,滚动事件适用于任何可以滚动的元素。窗口和文档都可以滚动,看起来,两者的工作方式相同。

和任何其他元素都可以滚动,如果它是具有 overflow:auto/scroll 样式的 block 元素并且其内容的大小大于容器的大小。

有时你可以将滚动事件绑定(bind)到窗口但什么也得不到,因为滚动是在另一个元素中完成的;)

关于Javascript:将滚动或调整大小事件绑定(bind)到哪个元素更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23234513/

相关文章:

javascript - 当复选框处于非事件状态时,更改背景颜色并隐藏特定 div 中的单选按钮

javascript - 有没有一种灵活的方法来修改可编辑元素的内容?

javascript - 使用 Chrome 扩展访问/操作实际 DOM

javascript - 用普通的旧 JS 动态渲染 DOM 元素的好方法是什么?

javascript - KnockoutJS 3.1.0 : "with" binding and transitions

javascript - 如何在 JavaScript 中使用反引号在 html 代码中使用变量?

javascript - 如何定义具有复合数据的数组字符串

javascript - 将XML解析为js数据,如何访问特定标签?

javascript - 将数组中的项目渲染到 DOM 中,并在单击时更改每个项目的值

javascript - 使用参数将用户重定向到另一个 PHP 页面