2014-01-23 49 views
1

有没有办法捕获DOM中任何元素上的所有滚动事件?与MutationObserver类似的方式告诉你关于一般的DOM变化,是否有一种方法可以听到有关常规滚动事件的信息(以大致跨浏览器的方式)?捕获所有滚动事件

显然,理想情况下,我不想尝试附加侦听器以手动滚动到DOM中的每个元素(这是因为这样做的麻烦和恐惧,我的浏览器会爆炸)。

另外,我会很好的方式来检测当前有可见滚动条的所有DOM元素(这样我就可以隔离这些元素并将滚动监听器仅附加到它们)但我想这不会更简单。

感谢

+0

[如何捕获页面上的所有滚动事件,而无需将onscroll处理程序附加到每个容器] [http://stackoverflow.com/questions/13184779/how-to-capture-all-scrolling-events - 一个页面没有附加一个滚动手) –

+1

滚动事件不会冒泡,所以你必须附加一个事件处理程序给每个有滚动条的元素 – adeneo

+0

@ G.Mendes好抓,没有现货。 – Rhys

回答

2

您可以使用

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

}); 

希望它可以帮助你。

+0

唯一的缺点是这可能会做很多工作 –