因为js没有长按事件,所以我们需要模拟长按事件,核心是利用touchstart和touchend事件加一个定时器解决。
1、代码(在vue中)
因为我是在vue中用的,道理一样
//html
//prevent取消浏览器默认长按事件。
<div style="width: 40px;height: 40px;background-color: #0a76a4" @touchstart.prevent="touchstartFn"
@touchend.prevent="touchendFn"></div>
//js
data(){
return{
longClickTimer:''
}
},
methods:{
touchstartFn(){
this.longClickTimer = setTimeout(()=>{
alert('长按操作')
},700)
},
touchendFn(){
clearTimeout(this.longClickTimer)
}
},