溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Vue-scroller頁面input框不能觸發(fā)滑動怎么辦

發(fā)布時間:2020-08-10 16:09:40 來源:億速云 閱讀:287 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下使用Vue-scroller頁面input框不能觸發(fā)滑動怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

因為項目中有個填寫信息的頁面,有很多input框,引入vue-scroller后發(fā)現(xiàn)在input區(qū)域滑動失效;看了一下引入的vue-scroller組件里的源碼,發(fā)現(xiàn)在組件源碼里的Scroller.vue中在touchStart、touchMove和mouseDownd方法的時候被return了

touchStart(e) {
   // Don't react if initial down happens on a form element
   //注釋掉這段代碼就行
   // if (e.target.tagName.match(/input|textarea|select/i)) {
   //  return
   // }
   //注釋掉這段代碼就行
   if (e.target.tagName.match(/textarea|select/i)) {
    return;
   }
   this.scroller.doTouchStart(e.touches, e.timeStamp);
  },
   touchMove(e) {
   //touchMove也要重新加個判斷,否則input框不能左右滑動
   if (!e.target.tagName.match(/input/i)) {
    e.preventDefault();
   }
   this.scroller.doTouchMove(e.touches, e.timeStamp);
  },

  mouseDown(e) {
   // Don't react if initial down happens on a form element
   //注釋掉這段代碼就行
   // if (e.target.tagName.match(/input|textarea|select/i)) {
   //  return
   // }
   //注釋掉這段代碼就行
   if (e.target.tagName.match(/textarea|select/i)) {
    return;
   }
   this.scroller.doTouchStart(
    [
     {
      pageX: e.pageX,
      pageY: e.pageY
     }
    ],
    e.timeStamp
   );
   this.mousedown = true;
  },

具體我也不知道阻止滑動input框區(qū)域是為了防止什么Bug,有知道的可以在評論區(qū)說一下;最后因為vue-scroller是npm引入的方式,怕會被更新掉,所以直接把組件代碼copy出來放在項目的components目錄下引用了

使用Vue-scroller頁面input框不能觸發(fā)滑動怎么辦

main.js引入方式和插件類似,使用方式和官方一樣

使用Vue-scroller頁面input框不能觸發(fā)滑動怎么辦

以上是使用Vue-scroller頁面input框不能觸發(fā)滑動怎么辦的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI