Javascript 捕获所有滚动事件
是否有方法捕获DOM中任何元素上的所有滚动事件?与告诉您一般DOM更改的Javascript 捕获所有滚动事件,javascript,jquery,html,dom,javascript-events,Javascript,Jquery,Html,Dom,Javascript Events,是否有方法捕获DOM中任何元素上的所有滚动事件?与告诉您一般DOM更改的MutationObserver类似,是否有一种方法可以听到一般滚动事件(以大致兼容跨浏览器的方式) 显然,理想情况下,我不想尝试手动将侦听器附加到DOM中的每个元素上(因为这样做很麻烦,而且担心我的浏览器会崩溃) 或者,我也可以用一种方法来检测当前具有可见滚动条的所有DOM元素(这样我就可以隔离这些元素并将滚动侦听器仅附加到它们),但我认为这并不简单 谢谢您可以使用 $("*").on("scroll",function(
MutationObserver
类似,是否有一种方法可以听到一般滚动事件(以大致兼容跨浏览器的方式)
显然,理想情况下,我不想尝试手动将侦听器附加到DOM中的每个元素上(因为这样做很麻烦,而且担心我的浏览器会崩溃)
或者,我也可以用一种方法来检测当前具有可见滚动条的所有DOM元素(这样我就可以隔离这些元素并将滚动侦听器仅附加到它们),但我认为这并不简单
谢谢您可以使用
$("*").on("scroll",function(event){
// Your code to handle
});
希望它能帮助您。滚动事件的可能副本不会冒泡,因此您必须将事件处理程序附加到具有scrollbar@G.Mendes抢手货没有发现这一点。@Ryven一种解决方法是向所有可能溢出的DOM元素添加一个特定的
类
,然后将事件附加到该类,但对附加后创建的元素仍然无效。缺点是这可能会做很多工作