Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 捕获所有滚动事件_Javascript_Jquery_Html_Dom_Javascript Events - Fatal编程技术网

Javascript 捕获所有滚动事件

Javascript 捕获所有滚动事件,javascript,jquery,html,dom,javascript-events,Javascript,Jquery,Html,Dom,Javascript Events,是否有方法捕获DOM中任何元素上的所有滚动事件?与告诉您一般DOM更改的MutationObserver类似,是否有一种方法可以听到一般滚动事件(以大致兼容跨浏览器的方式) 显然,理想情况下,我不想尝试手动将侦听器附加到DOM中的每个元素上(因为这样做很麻烦,而且担心我的浏览器会崩溃) 或者,我也可以用一种方法来检测当前具有可见滚动条的所有DOM元素(这样我就可以隔离这些元素并将滚动侦听器仅附加到它们),但我认为这并不简单 谢谢您可以使用 $("*").on("scroll",function(

是否有方法捕获DOM中任何元素上的所有滚动事件?与告诉您一般DOM更改的
MutationObserver
类似,是否有一种方法可以听到一般滚动事件(以大致兼容跨浏览器的方式)

显然,理想情况下,我不想尝试手动将侦听器附加到DOM中的每个元素上(因为这样做很麻烦,而且担心我的浏览器会崩溃)

或者,我也可以用一种方法来检测当前具有可见滚动条的所有DOM元素(这样我就可以隔离这些元素并将滚动侦听器仅附加到它们),但我认为这并不简单

谢谢

您可以使用

$("*").on("scroll",function(event){
 // Your code to handle

});

希望它能帮助您。

滚动事件的可能副本不会冒泡,因此您必须将事件处理程序附加到具有scrollbar@G.Mendes抢手货没有发现这一点。@Ryven一种解决方法是向所有可能溢出的DOM元素添加一个特定的
,然后将事件附加到该类,但对附加后创建的元素仍然无效。缺点是这可能会做很多工作