Pan手势在移动端怎么实现拖拽效果?

文亭 Dev 阅读 9

我在用 Vue 做一个移动端的卡片拖拽功能,想用 Pan 手势识别,但试了 Hammer.js 没生效,不知道是不是写法有问题。

下面是我写的代码,绑定 pan 事件后控制台完全没输出,是不是哪里漏了?

<template>
  <div v-hammer:pan="onPan" class="card">拖我</div>
</template>

<script>
export default {
  methods: {
    onPan(e) {
      console.log('panning', e.deltaX, e.deltaY);
    }
  }
}
</script>
我来解答 赞 0 收藏
二维码
手机扫码查看
1 条解答
小雨橙
小雨橙 Lv1
没生效通常是漏了全局注册 hammer 指令。在 main.js 里加这两行:

import VueHammer from 'vue-hammerjs'
Vue.use(VueHammer)


然后就能用了。注意 hammerjs 2.x 对移动端支持好,PC 上得用 mouse 事件模拟。
点赞
2026-03-17 23:07