为什么在HTML和JavaScript中,如果内容被上下滚动,那么内容不会得到滚动事件?

为什么在HTML和JavaScript中,如果内容被上下滚动,那么内容不会得到滚动事件?,javascript,scroll,Javascript,Scroll,我认为有时对于scroll事件可能会让人困惑,比如说,如果窗口是800 x 300像素,内容(body元素)是800 x 2000,而body是上下滚动的,body不会得到scroll事件,但是窗口会得到 类似地,如果div A包含div B,并且div B太大而无法放入div A中,并且div B正在上下滚动,那么div B不会获得滚动事件,但是div A会 例如: 所以有时候会有点混乱,我们能把scroll事件更像是contentscrolled事件吗 (或者短语“div B正在上下滚动”在

我认为有时对于
scroll
事件可能会让人困惑,比如说,如果窗口是800 x 300像素,内容(
body
元素)是800 x 2000,而body是上下滚动的,
body
不会得到
scroll
事件,但是
窗口会得到

类似地,如果div A包含div B,并且div B太大而无法放入div A中,并且div B正在上下滚动,那么div B不会获得
滚动
事件,但是div A会

例如:

所以有时候会有点混乱,我们能把
scroll
事件更像是
contentscrolled
事件吗

(或者短语“div B正在上下滚动”在技术上不正确,但应该是“div A正在上下滚动以显示div B的一部分”?但我一直听到短语“内容正在上下滚动(在窗口内)”

“div B正在上下滚动”这句话从技术上讲不是吗 正确的

是的,这个短语是错误的,因为在您的例子中,div A正在被滚动(这个div有滚动条)。更好的说法是,diva的内容画布正在滚动,而放置在画布上的内容并不重要


它就像地球上的人类(B组)(A组)。行星正在疯狂地移动/旋转,但没有人感觉到(没有收到任何事件)。:)

用一个有趣的例子来说明这个问题。。。如果“scroll”与“move”或“shift”具有类似的含义,那么移动或移位的应该是div B(内容),而不是div a(容器)。不,内容没有移动,但。。。携带.)你可以很好地说,内容在一个div中,溢出:隐藏,然后它本身就是位置:绝对,顶部和左侧调整,所以它被移动了,与滚动效果相同。同意,但是在diva上使用
overflow:hidden
,在divb上使用
position:absolute
,就不会有滚动条和滚动事件。当然,您可以在拖动div B时模拟div A上的滚动条并触发滚动事件,但这不是您在原始问题中所问的问题