首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iPhone/iPad的javascript滚动事件?

iPhone/iPad的javascript滚动事件?
EN

Stack Overflow用户
提问于 2010-05-19 15:18:29
回答 2查看 238.2K关注 0票数 111

我似乎无法在iPad上捕获滚动事件。这些都不起作用,我哪里做错了?

代码语言:javascript
复制
window.onscroll=myFunction;

document.onscroll=myFunction;

window.attachEvent("scroll",myFunction,false);

document.attachEvent("scroll",myFunction,false);

即使在Windows上的Safari3上,它们也能正常工作。具有讽刺意味的是,如果你不介意重击现有事件,PC上的每个浏览器都支持window.onload=。但在iPad上不行。

EN

回答 2

Stack Overflow用户

发布于 2013-06-19 23:32:29

很抱歉在旧帖子中添加了另一个答案,但我通常会通过使用此代码很好地获得滚动事件(它至少在6.1上有效)

代码语言:javascript
复制
element.addEventListener('scroll', function() {
    console.log(this.scrollTop);
});

// This is the magic, this gives me "live" scroll events
element.addEventListener('gesturechange', function() {});

这对我来说很管用。它唯一不做的事情就是为scroll的减速给出一个scroll事件(一旦减速完成,你就会得到一个最终的scroll事件,随心所欲地做)。但是如果你通过这样做来禁用css的惯性

代码语言:javascript
复制
-webkit-overflow-scrolling: none;

你不会在你的元素上得到惯性,尽管你可能不得不做经典的

代码语言:javascript
复制
document.addEventListener('touchmove', function(e) {e.preventDefault();}, true);
票数 39
EN

Stack Overflow用户

发布于 2018-08-24 19:52:40

自从iOS 8问世以来,这个问题就不复存在了。scroll事件现在也可以在iOS Safari中顺利触发了。

因此,如果注册scroll事件处理程序并检查该事件处理程序中的window.pageYOffset,一切都会正常工作。

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

https://stackoverflow.com/questions/2863547

复制
相关文章

相似问题

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