Jquery-mobile 支持这些事件:
http://jquerymobile.com/demos/1.0a3/docs/api/events.html
如何获取移动设备上点击事件的位置(例如在图像内)?
$('#myimg').bind('tap', function(e){
var x = ???;
var y = ???;
alert([x, y]);
})
请您参考如下方法:
你得不到pageX和pageY的原因是你得到了不包含任何坐标信息的touchcancel事件(毕竟它是一个非触摸事件)。这不是实际的点击或点击,而是没有移动(超过阈值)并且速度足够快的触摸事件。
在使用 jQuery 的 touchswipe 插件时,我遇到了同样的问题,并且必须通过在 touchstart 事件上存储坐标并在取消事件上检索它来解决该问题,以便能够提取坐标。
您需要将这些保存在开始事件中(jquery mobile 中的“vmousedown”?):
event.touches[0].pageX
event.touches[0].pageY
此外,在移动设备上,您应该将坐标乘以 window.devicePixelRatio 以获得屏幕上的准确位置。
