【问题标题】:Android browser touch event locationAndroid浏览器触摸事件位置
【发布时间】:2025-11-26 03:15:02
【问题描述】:

在 Safari 上,您可以从 event.pageX 和 event.pageY 获取用户触摸屏幕的位置。但是,在我的安卓浏览器上,event.pageX 和 event.pageY 总是为 0。有没有什么办法可以在安卓的浏览器中获取触摸事件的位置?

【问题讨论】:

  • 您能否详细说明您要完成的工作?您是否也对原生选项感兴趣?例如。与任何视图一样,您可以将 OnTouchListener 连接到 WebView 并请求触摸坐标。显然,这在放大时不起作用。如果您追求特定的页面元素,getHitTestResult() 可能也值得一看。

标签: javascript android google-chrome


【解决方案1】:

这是凭记忆,因为我不再拥有 Android 设备,但我认为这是正确的。至少,它应该让你朝着正确的方向开始。祝你好运。

var elem = document.getElementById('elem');
elem.addEventListener('touchend', function(e){
    var pageX = e.changedTouches[0].pageX,
        pageY = e.changedTouches[0].pageY;
}, false);

【讨论】:

  • 谢谢!我花了太长时间试图弄清楚这一点。