I have question related to touch event with Vuejs. I want to join some number with mouse event (for PC) and touch event (for Mobile Devices) like this:
<div
@mousedown="startMove(item)"
@mouseup="endMove(item)"
@mousemove="doMove(item)"
@touchstart="startMove(item)"
@touchend="endMove(item)"
@touchmove="doMove(item)"
v-for="item in 9"
:key="item"
>
{{ item }}
</div>
Since mousedown, mouseup, mousemove working well on PC, touch event also fired on mobile devices but it always return item of touchstart.
Example if I move(with touch) from 2
to 5
, item always return 2
on touchmove and touchend event.
Here is my data:
data(){
return {
isMoving: false
}
},
methods: {
startMove(e){
this.isMoving= true;
},
endMove(e) {
this.isMoving= false;
},
doMove(e) {
if (this.isMoving) {
console.log(e)
}
}
}
I tested with Chrome develop mode, and tested on Ipad. Can you tell me why and suggest me the solution for this. Thank for your help.