如何让Android响应触摸拖动?

时间:2011-10-07 00:13:34

标签: javascript android browser 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.
}

这适用于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值。

感谢您的期待!

1 个答案:

答案 0 :(得分:6)

请使用:

event.touches[0].pageY

而不是:

event.pageY

它会起作用。