首先描述一下需求,就是希望在長按元素的時候實現某種操作,話不多說,下面就介紹一下方法:
- 給需要長按的元素添加 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); }
通過上面的兩步就能實現長按事件了。