iOS Safari在嵌套元素中onscroll事件

我的最终目标是在我的页面上有一个内联div,它可以在本地水平滚动(使用-webkit-overflow-scrolling: touch ),同时也可以捕捉。

我可以实现这一点, 没有 -webkit-overflow-scrolling因为我有权访问ontouchend事件,所以我可以计算我的捕捉,但是,为了实现这个function的最佳UX用户,我想使用本地滚动在这个元素上。

使用-webkit溢出滚动的问题是,使用一个轻弹/一些力量,div将继续滚动了一下后,你的手指已经closures(即在ontouchend已经发射) ; 这意味着我的快照在滚动完成之前计算。

花了很长时间试图find方法,我还没有成功。

在整个页面上下文中,当滚动完成时,safari会触发onscroll事件。 我的问题是,是否有可能在一个元素的上下文中引发这个事件? 即在<div id="slideShow">内部滚动火焰?

如果没有,是否有可能

(a)例如ontouchmove的访问速度,所以我可以计算何时运行捕捉?

要么

(b)仿真-webkit-overflow-scroll:touch(弹性和速度效果)。

注意:为了举例,使用iPad w / iOS5。

scroll事件分别在每个滚动容器上触发,仅在滚动停止并完成后才在iOS上触发。 您可以简单地监听容器上的滚动事件。

这里是一个例子:

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Test Touch Scrolling</title> <style> body { font-size: 15em; } #outer { height: 1200px; width: 300px; overflow-x: scroll; -webkit-overflow-scrolling: touch; } #inner { width: 600px; } </style> <script> document.addEventListener("DOMContentLoaded", function() { var list = document.getElementById("outer"); list.addEventListener("scroll", function(event) { alert("Scroll has ended for element with ID '" + event.currentTarget.id + "'"); }); }, false); </script> </head> <body> <div id="outer"> <div id="inner">Some text. And more.</div> </div> </body> </html> 

只有在水平滚动文本时,才会看到提醒,而不是当滚动div时。