在 iPad 上模拟滚动事件

Posted

技术标签:

【中文标题】在 iPad 上模拟滚动事件【英文标题】:Simulate scroll event on iPad 【发布时间】:2011-05-27 08:52:25 【问题描述】:

一般来说,在 iPad 上,如果我们有一个固定宽度/高度的 iframe 元素,它应该使用两指自动滚动..

但由于最新 ios 中的一些问题/错误,我们无法滚动固定尺寸元素..

那么是否有任何库或任何替代品可以让我使用 iframe / object 元素并添加模拟滚动的代码..

我可以使用对象元素,以防 iframe 出现无法接收事件的问题。但我需要其中任何一个,因为我必须包含一个子页面。

【问题讨论】:

【参考方案1】:

这就是你要找的东西:http://cubiq.org/iscroll 试过了,很好用

【讨论】:

我确实尝试过..适用于 div,但不适用于 iframe..你有 iframe 工作的任何例子吗? 我没有尝试过 iFrame。一般来说,我会尽量远离 iFrame,使用它们有太多缺点。但是我想如果你这样做的话你别无选择......嗯,我会看看 phonegap phonegap.com/tools 中的工具 sectino 他们列出了一堆你可以使用的 js 工具(并且不需要使用电话间隙)【参考方案2】:

我会使用event.initEvent。但是,这只是建议 - 我无法检查它是否有效。

【讨论】:

【参考方案3】:

我使用纯 jquery 进行滚动:

function scroll(div, px)
   $(div).animate(scrollTop:$(div).scrollTop()+px, 400);

对于 200px,用作:

scroll('#my_iframe_id', 200); 

【讨论】:

嗨..非常感谢..但这适用于桌面浏览器,甚至适用于 iPad Safari 等移动浏览器.. 另外,当您说 200 像素时,这意味着固定滚动...我想创建一种自然滚​​动...即在 iPad 上,模拟用户实际使用 2 指滚动时会发生什么...... 你试过了吗?您可以将 200 更改为任何其他值,我将 200 添加到元素的位置。我在许多不同的浏览器上使用它,从未引起任何问题..

以上是关于在 iPad 上模拟滚动事件的主要内容,如果未能解决你的问题,请参考以下文章

无法在 iPad 上滚动网页

在 iPad 上使用 touchmove 事件移动图像

如何关闭 iPad 上的橡胶/弹性滚动效果?

触摸事件仅在iPad iOS 11.4上的Mobile Safari中滚动时触发“一次”

使用jquery在touchmove上滚动事件

适用于iPhone / iPad的javascript滚动活动?