vue 長按事件?


var timeOutEvent=0;//定時器   

html結構:

<div @touchstart="gtouchstart(v)" @touchmove="gtouchmove()" @touchend="gtouchend(v)"></div>
//開始按
              gtouchstart:function gtouchstart(item){
                  timeOutEvent = setTimeout(function(){
                      vm.longPress(item)
                  },500);//這里設置定時器,定義長按500毫秒觸發長按事件,時間可以自己改,個人感覺500毫秒非常合適
                  return false;
              },
              //手釋放,如果在500毫秒內就釋放,則取消長按事件,此時可以執行onclick應該執行的事件
              gtouchend:function gtouchend(item){
                  clearTimeout(timeOutEvent);//清除定時器
                  if(timeOutEvent!=0){
                      //這里寫要執行的內容(尤如onclick事件)
                      vm.goChat(item);
                  }
                  return false;
              },
              //如果手指有移動,則取消所有事件,此時說明用戶只是要移動而不是長按
              gtouchmove:function gtouchmove(){
                  clearTimeout(timeOutEvent);//清除定時器
                  timeOutEvent = 0;

              },

              //真正長按后應該執行的內容
              longPress:function longPress(item){
                  timeOutEvent = 0;
                  //執行長按要執行的內容,如彈出菜單
                  $api.css($api.dom('.Popup'), 'display:block');
              }

源地址:https://www.cnblogs.com/imsomnus/p/6429074.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM