【发布时间】:2011-12-02 16:07:47
【问题描述】:
我正在创建一个具有溢出 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 值。
感谢收看!
【问题讨论】:
标签: javascript android browser webkit touch