我正在创建一个网络应用程序,其中包含具有overflow: scroll样式的div。由于Android浏览器不支持此功能,因此我需要使用自己的自定义函数来进行触摸和拖动。
$([element]).
.bind('touchmove', function(event) {
event.preventDefault();
// Move elements around as page scrolls, using event.pageY
})
.bind('touchstart', function(event) {
event.preventDefault();
// Do stuff to set up scrolling event.
}
这在iOS设备上运行良好。然而,在Android设备上却无法正常工作。
通过console.log,我发现event.pageY始终被设置为零(在iOS中,它会告诉您触摸点与页面其余部分的关系)。我还收到以下晦涩的消息:
W/webview (21798): Miss a drag as we are waiting for WebCore's response for touch down.
关于这个问题的数据很少,但似乎情况是Android直到你松开手指才会注册触摸事件。我不太相信这一点,因为普通页面可以正常滚动。我只是不知道如何让它识别pageY的真实值,而不是忽略触摸的Y值。
感谢您的阅读!