首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onscroll for div

onscroll for div
EN

Stack Overflow用户
提问于 2010-06-01 22:01:15
回答 5查看 66.4K关注 0票数 17

div元素没有onscroll事件处理程序吗?我的页面上的行为似乎并不表明div onscroll事件处理程序是可识别的。

代码语言:javascript
复制
<div id='bd' onscroll='alert("Scroll Called");'></div>

另外,

根据DOM事件冒泡,div scroll事件会向上滚动到窗口滚动事件吗?

EN

回答 5

Stack Overflow用户

发布于 2013-05-09 22:05:27

根据您使用的HTML语言的版本,您可以改用onwheel事件。

仅当满足以下所有条件时,onscroll事件才有效:

  1. 该目录包含overflow: autooverflow: scrolloverflow-y: scroll等。
  2. 该目录当前具有可滚动的可视滚动条。
  3. 鼠标移动实际上会导致滚动条滚动。<代码>H211<代码>G212

因此,onscroll事件并不真正适合于检测一般的鼠标滚轮移动。

请注意,onwheel事件是HTML5.According to w3schools中的新事件,但它得到了广泛的支持。

票数 21
EN

Stack Overflow用户

发布于 2013-05-17 12:51:36

我在这个问题上也摸不着头脑,直到我开始学习更多关于DOCTYPE指令。最新版本的HTML规范不支持onscroll属性。它将在Visual Studio中显示为无效语法。它可能可以在许多浏览器中工作,但它仍然是无效的代码。

相反,您可以使用Javascript或jQuery创建事件。我使用这样的方法在两个独立的div上同步滚动:

代码语言:javascript
复制
$("#gridTableContainer").scroll(function() {
    HandlingScrollingStuff();
}); 
票数 5
EN

Stack Overflow用户

发布于 2010-06-01 23:23:37

是的,但是元素需要有一个滚动条。你可以给它一个overflow: auto (当内容足够高时会给你一个滚动条)或者overflow: scroll。(可以专门为x&y以及overflow-y: scroll设置这些参数...)

虽然它们不会冒泡,但一旦div滚动到底部,窗口就会开始滚动。(基本上,如果div可以滚动,它将拦截scroll事件,但如果不能,它将转到页面)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2950382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档