<li v-for="(item,index) in conList" :key="item.id" class="" @touchstart="touchstartFun($event)" @touchleave="touchmoveFun($event)" @touchend="touchendFun($event,item,index)" ><li>
data () {
return {
date: '',
checkboxInput: false,
delectList: false,
topHeight: 0,
timeOutEvent: 0,
touchX: 0,
touchY: 0,
touchZ: 0
}
},
methods: {
touchendFun (e, item, index) {
if (e.preventDefault) {
e.preventDefault()
} else e.returnValue = false
if (this.touchZ !== 1) {
clearTimeout(this.timeOutEvent)
this.touchX = 0
this.touchY = 0
if (!e.target.getAttribute('checkclick')) {
if (this.timeOutEvent !== 0) {
this.timeOutEvent = 0
this.listFun(item, index)
}
} else {
this.checkboxFun(e)
}
return false
} else if (this.touchZ === 1) {
this.touchX = 0
this.touchY = 0
this.touchZ = 0
this.delectList = true
/* 到这里已确定触发了长按事件,接下来执行长按后要做的其他事情 */
}
},
touchmoveFun (e) {
if (e.preventDefault) {
e.preventDefault()
} else e.returnValue = false
if (this.touchX !== e.touches[0].clientX || this.touchY !== e.touches[0].clientY) {
clearTimeout(this.timeOutEvent)
return false
}
},
touchstartFun (e) {
if (e.preventDefault) e.preventDefault()
else e.returnValue = false
if (e.touches.length > 1) {
return false
}
this.touchZ = 0
let that = this
clearTimeout(this.timeOutEvent)
that.timeOutEvent = 0
this.timeOutEvent = setTimeout(() => {
that.touchZ = 1
// that.delectList = true
}, 2000)
this.touchX = e.touches[0].clientX
this.touchY = e.touches[0].clientY
}
}