首先描述一下需求,就是希望在長按元素的時候實現某種操作,話不多說,下面就介紹一下方法:
- 給需要長按的元素添加 touchstart 和 touchend 兩個事件:
<div v-for="(item, index) in fileList" :key="index" @touchstart="touchstart(index,item)" @touchend="touchend(index)">
// 這里是循環的一些元素
</div>
- 在methods中添加事件:
touchstart(index,item) {
clearInterval(this.Loop); //再次清空定時器,防止重復注冊定時器
this.Loop = setTimeout(function() {
//這里是長按以后需要觸發的事件
}.bind(this), 1000); // 這里的1000是指需要長按的時間,單位為ms
},
touchend(index) {
// 這個方法主要是用來將每次手指移出之后將計時器清零
clearInterval(this.Loop);
}
通過上面的兩步就能實現長按事件了。
