You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ionic2/Ionic3中如何通过Pan事件获取拖动时的坐标位置?

在Ionic2中获取Pan事件的触点坐标

嘿,我对Ionic2的触摸事件这块还算熟,来给你捋捋怎么获取Pan事件里的触点x、y坐标~

你已经知道用(pan)='panEvent($event)'来捕获Pan事件,没错,触点的坐标信息就藏在传入的$event对象里,具体可以通过这两个属性直接获取:

  • $event.center.x:触点的x轴坐标(相对于整个视口)
  • $event.center.y:触点的y轴坐标(相对于整个视口)

给你贴个实际可复用的代码示例,一看就懂:

模板文件(比如page.html)

<ion-content (pan)="handlePan($event)">
  <!-- 这里放你的页面内容 -->
</ion-content>

组件逻辑文件(比如page.ts)

handlePan(event: any) {
  // 提取当前触点的坐标
  const touchX = event.center.x;
  const touchY = event.center.y;

  // 这里可以写你需要的业务逻辑,比如打印坐标调试
  console.log(`当前触点位置:X=${touchX}, Y=${touchY}`);
}

如果你需要的是触点相对于当前触发元素的坐标(而不是整个视口),可以结合元素的位置信息计算:

handlePan(event: any) {
  // 获取触发元素的位置信息
  const elementBounds = event.target.getBoundingClientRect();
  // 计算相对于元素的坐标
  const relativeX = event.center.x - elementBounds.left;
  const relativeY = event.center.y - elementBounds.top;

  console.log(`相对于元素的坐标:X=${relativeX}, Y=${relativeY}`);
}

内容的提问来源于stack exchange,提问作者pies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:34:50