div元素没有onscroll
事件处理程序吗? 我的页面上的行为似乎并没有表明识别事件处理程序div onscroll
。onscroll for div
<div id='bd' onscroll='alert("Scroll Called");'></div>
此外,
做的div滚动事件卷起窗口滚动的事件,按照DOM事件冒泡?
div元素没有onscroll
事件处理程序吗? 我的页面上的行为似乎并没有表明识别事件处理程序div onscroll
。onscroll for div
<div id='bd' onscroll='alert("Scroll Called");'></div>
此外,
做的div滚动事件卷起窗口滚动的事件,按照DOM事件冒泡?
是的,但元素需要有一个滚动条。你可以给它一个overflow: auto
(当内容足够高的时候给你一个滚动条)或者overflow: scroll
。 (这些可以被专门设置为x & y以及overflow-y: scroll
...)
尽管当div被滚动到底部时它们不起泡,窗口将开始滚动。 (基本上,如果div可以滚动它将拦截滚动事件,但如果它不能,那么它将进入页面)
取决于您使用的HTML版本,您可以使用onwheel
事件。
的onscroll
事件只能如果所有下列条件:
overflow: auto
,overflow: scroll
,overflow-y: scroll
等因此,onscroll
事件并不真正适用于检测一般鼠标轮的移动。
请注意,onwheel
事件是HTML 5中的新事件。但它受到相当广泛的支持。
我也在这个问题上摸不清头脑,直到我开始更多地了解DOCTYPE指令。 onscroll属性在HTML规范的最新版本中不受支持。它将在Visual Studio中显示为无效的语法。它可能在许多浏览器中工作,但它仍然是无效的代码。
相反,你可以使用Javascript或jQuery开展事件。我使用这种方法来同步两个单独的div上的滚动:
$("#gridTableContainer").scroll(function() {
HandlingScrollingStuff();
});
你不应该相信微软所说的关于规格的一切。他们喜欢自己做,他们喜欢称他们为标准。而VS让你感觉像Word一样,是“正确的”和“有效的” - 根据MS_。实际上,只有MS最终依靠DOCTYPE才能做出怪癖;所有其他浏览器都只是显示HTML。 [使用MDN学习HTML,CSS和JS](https://developer.mozilla.org/en/docs/DOM/window.onscroll)!切勿使用w3schools,请阅读[w3fools.com](http://w3fools.com)上的原因。 MSDN对IE来说可以,但不要依赖它们。 ps:onscroll事件是HTML5规范,没有jQuery。 – metadings 2013-05-17 06:31:39
嗯,是的。即使Visual Studio将其显示为有效,上面提到的“仍然无效”时我就是这么说的。 – Ripside 2014-04-30 17:08:38
JQUERY scroll()可以帮助您。
$("#gridTableContainer").scroll(function() {
HandlingScrollingStuff();
});
谢谢。但是,我有溢出属性集。我正在滚动div,但没有得到任何警报。我可能做错了什么? – 2010-06-01 18:52:28