The*_*ine 16 html scroll javascript-events
div元素没有onscroll事件处理程序吗?我页面上的行为似乎并不表示onscroll识别div 事件处理程序.
<div id='bd' onscroll='alert("Scroll Called");'></div>
Run Code Online (Sandbox Code Playgroud)
另外,
根据DOM事件冒泡,是否将div滚动事件汇总到窗口滚动事件?
Sil*_*eth 16
根据您使用的HTML版本,您可以使用该onwheel事件.
onscroll只有满足以下所有条件时,该事件才有效:
overflow: auto,overflow: scroll,overflow-y: scroll,等.因此该onscroll事件不适合检测一般鼠标滚轮运动.
请注意,该onwheel事件是HTML 5中的新功能. 据w3schools称,它得到了广泛的支持.
我也在这个问题上摸不着头脑,直到我开始更多地了解 DOCTYPE 指令。最新版本的 HTML 规范不支持 onscroll 属性。它将在 Visual Studio 中显示为无效语法。它可能适用于许多浏览器,但它仍然是无效代码。
相反,您可以使用 Javascript 或 jQuery 来处理事件。我使用这样的方法在两个单独的 div 上同步滚动:
$("#gridTableContainer").scroll(function() {
HandlingScrollingStuff();
});
Run Code Online (Sandbox Code Playgroud)
是的,但该元素需要有一个滚动条。您可以给它一个overflow: auto(当内容足够高时给您一个滚动条)或overflow: scroll。(这些也可以专门为 x 和 y 设置overflow-y: scroll......)
尽管一旦 div 滚动到底部它们就不会冒泡,但窗口将开始滚动。(基本上,如果 div 可以滚动,它将拦截滚动事件,但如果不能,它将转到页面)