如何让Android响应触摸拖动?

Tom*_*ray 3 javascript browser android webkit touch

我正在创建一个网页应用程序,其中包含带溢出的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.
}
Run Code Online (Sandbox Code Playgroud)

这适用于iOS设备.但是,在Android中,它没有.

使用console.log,我发现event.pageY始终设置为零(在iOS中它会告诉您触摸与页面其余部分相关的位置).我还得到以下神秘的消息:

W/webview (21798): Miss a drag as we are waiting for WebCore's response for touch down.
Run Code Online (Sandbox Code Playgroud)

关于这一点的数据很少,但似乎是Android在取消触摸之前实际上没有注册触摸事件.我不相信,因为普通页面滚动很好.我只是不知道热得让它识别pageY的真正价值,而不是忽略触摸的Y值.

谢谢你的期待!

Abu*_*apa 6

请用:

event.touches[0].pageY

代替:

event.pageY

它会工作.