uniapp的touchmove事件中如何获取当前触摸元素的id "如何获取uniapp touchmove事件目标元素的id?"
在uniapp开发中,使用touchmove事件时,如何获取当前触摸的目标元素id?我在事件对象event中尝试过event.target.id和event.currentTarget.id,但获取到的值都不正确。请问正确的获取方式是什么?需要兼容微信小程序和H5平台。
2 回复
在touchmove事件对象中,通过 e.target.id 获取当前触摸元素的id。
在uni-app的touchmove事件中,可以通过事件对象的currentTarget属性获取当前触摸元素的id。
具体方法:
<template>
<view
@touchmove="handleTouchMove"
id="myElement"
class="touch-area"
>
触摸区域
</view>
</template>
<script>
export default {
methods: {
handleTouchMove(event) {
// 获取当前触摸元素的id
const elementId = event.currentTarget.id;
console.log('当前触摸元素id:', elementId); // 输出: myElement
// 或者使用dataset获取数据
// const elementId = event.currentTarget.dataset.id;
}
}
}
</script>
关键点说明:
event.currentTarget.id- 获取绑定事件的元素的idevent.currentTarget- 指向事件绑定的元素(推荐使用)event.target- 指向实际触发事件的元素(可能不是绑定事件的元素)
注意事项:
- 确保元素设置了
id属性 - 如果需要传递动态数据,可以使用
data-*属性:
<view @touchmove="handleTouchMove" :data-id="dynamicId"></view>
handleTouchMove(event) {
const id = event.currentTarget.dataset.id;
}
这样就能在touchmove事件中准确获取到当前触摸元素的标识信息了。

