为什么jQuery不能监听document.body的滚动事件呢?

为什么jQuery不能监听document.body的滚动事件呢?今天发现这句代码没效果:$(document.body).scroll(function(e){aler... 为什么jQuery不能监听document.body的滚动事件呢?今天发现这句代码没效果:$(document.body).scroll(function(e) { alert('我滚动了');});请教各位大侠,这是为什么呢? 展开
 我来答
花生大大树
推荐于2018-01-20
知道答主
回答量:1
采纳率:0%
帮助的人:910
展开全部
<script type="text/javascript">
window.onbeforeunload= function () {
return "关闭网页"; //关闭网页时的弹窗
}
window.onscroll= function () {
alert("页面滚动");
}
window.onresize= function () {
alert("页面大小改变了");
}
window.onmousewheel= function () {
alert("鼠标滚动了");
}
</script>
匿名用户
2013-05-27
展开全部
这个问题问得好,
不过它跟jQuery貌似没什么关系,
跟BOM和DOM是有关系的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-08-09
展开全部
这个问题问得好,不过它跟jQuery貌似没什么关系,跟BOM和DOM是有关系的。用基于miniYUI轻量级框架的JS来测试一下各大主流浏览器下window和document以及document.body上的滚动事件,得出以下结论:[*]几乎所有浏览器都不支持在document.body上监听整个网页的滚动事件,除了QQ浏览器;[*]几乎所有浏览器都支持在window对象上监听整个网页的滚动事件;[*]几乎所有浏览器都支持在document对象上监听整个网页的滚动事件,除了QQ浏览器;[*]几乎所有浏览器都支持用document.documentElement.scrollTop来获取网页的滚动高度,除了Chrome和Safari;[*]只有Chrome和Safari支持用document.body.scrollTop来获取网页的高度;主要测试的浏览器:IE 9,Firefox 12.0,Chrome 20.0.1132.11,Safari 5.1.2,QQ浏览器 6.13通过测试,我们得出获取网页滚动高度scrollTop的最佳实践为:[*]把获取滚动高度的事件处理程序绑定到window对象上;[*]通过获取document.documentElement.scrollTop和document.body.scrollTop两者之间较大值为网页的真实滚动高度。基于miniYUI的测试示例代码如下:miniYUI.event.on(window, 'scroll', function(e) { alert(Math.max(document.body.scrollTop, document.documentElement.scrollTop));});
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xialeimin3
2017-08-09 · 贡献了超过109个回答
知道答主
回答量:109
采纳率:0%
帮助的人:32.9万
展开全部
$(window).scroll(function(){})
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式