猿问

iPhone/iPad的JavaScript滚动事件?

iPhone/iPad的JavaScript滚动事件?

我似乎无法在iPad上捕捉滚动事件。没有这些工作,我做错了什么?


window.onscroll=myFunction;


document.onscroll=myFunction;


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


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

它们甚至都在Windows上的Safari 3上工作。具有讽刺意味的是,pc上的每个浏览器都支持window.onload=如果你不介意破坏现有的事件。但不能上iPad。


慕工程0101907
浏览 556回答 3
3回答

DIEA

对于IOS,您需要使用触移事件以及卷轴像这样的事件:document.addEventListener("touchmove", ScrollStart, false);document.addEventListener("scroll", Scroll, false);function ScrollStart() {     //start of scroll event for iOS}function Scroll() {     //end of scroll event for iOS     //and     //start/end of scroll event for other browsers}

侃侃尔雅

很抱歉为旧文章添加了另一个答案,但是我通常通过使用此代码(至少在6.1上)得到一个非常好的滚动事件。element.addEventListener('scroll', function() {     console.log(this.scrollTop);});// This is the magic, this gives me "live" scroll eventselement.addEventListener     ('gesturechange', function() {});这对我有用。它唯一没有做的就是给一个滚动事件来表示滚动的减速(一旦减速完成,你就会得到一个最终的滚动事件,按照你的意愿去做)。但是,如果您通过这样做来禁用CSS的惰性-webkit-overflow-scrolling: none;你不会对你的元素产生惰性,因为你的身体可能需要做经典的document.addEventListener('touchmove', function(e) {e.preventDefault();}, true);
随时随地看视频慕课网APP

相关分类

JavaScript
iOS
我要回答