Skip to main content
 首页 » 编程设计

jquery之如何使用 jquery-mobile 获取点击事件的位置/坐标

2026年03月25日783zlslch

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 以获得屏幕上的准确位置。