2013-08-29 14 views
0

我認爲有時會出現scroll事件,例如,如果窗口是800 x 300像素,內容(body元素)是800 x 2000,並且主體上下滾動,則body可能會引起混淆沒有得到scroll事件,但window呢。爲什麼在HTML和JavaScript中,如果內容上下滾動,內容不會得到滾動事件?

同樣,如果div A包含div B,並且div B太大而不適合div A並且div B正在上下滾動,則div B不會獲得scroll事件,但div A會執行此操作。

例如:http://jsfiddle.net/RL5Qj/

所以這是一個有點混亂,有時,我們可以認爲scroll事件多爲contentscrolled事件?

(或者是「div B上下滾動」的短語在技術上不正確,但它應該是「div A上下滾動以顯示div B的一部分」?但是我聽到「內容被向上和向下滾動(在窗口內)」的所有時間。)

+0

創建[jsFiddle](http://jsfiddle.net/)以顯示該問題。 – Grigur

+0

小提琴添加... –

回答

0

是那句‘格B被向上和向下滾動’技術上不 正確

是,該短語是錯誤的,因爲在你的情況下div A正在滾動(這個div有滾動條)。更好的是說,div A的內容畫布正在滾動,放置在畫布上的內容並不重要。

它就像人類(div B)在地球上(div A)。這個星球正在瘋狂地移動/旋轉,但沒有人覺得(沒有收到任何事件)。 :)

+0

與地球有趣的比喻...如果「滾動」與「移動」或「移動」具有相似的含義,那麼它應該是移動或移動的div B(內容),而不是格A(容器)。 –

+0

不,內容不是**移動**,而是** **攜帶**。 :) – Grigur

+0

你可以很好地說,內容是在一個div溢出:隱藏,然後本身只是位置:絕對頂部和左側調整,所以這是移動,它是一樣的滾動效果。 –