2014-01-23 50 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

唯一的缺點是這可能會做很多工作 –