亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法在移動瀏覽器上強制用兩根手指滾動?

有沒有辦法在移動瀏覽器上強制用兩根手指滾動?

慕田峪4524236 2023-05-11 16:16:20
我目前正在做一個項目,其中拖動操作繪制到畫布上,因此用一根手指滾動是不可行的。我希望能夠用兩根手指滾動。在嘗試了各種touch-action值后,我發現這pinch-zoom讓我很接近,但不幸的是它也會縮放頁面。我嘗試了各種 hack 來阻止縮放功能,但它導致了許多問題。我還嘗試使用手勢事件進行自定義滾動,但與本機滾動相比,滾動性能非常差。有沒有一種優雅的方式來強制兩根手指滾動而不用捏合縮放?
查看完整描述

1 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

為了防止縮放使用這個:添加在 head =>


<meta name='viewport' 

     content='width=device-width, initial-scale=1.0, maximum-scale=1.0, 

     user-scalable=0' >

還要添加到您的 addEventListeners => 在 func 的開頭。


  e.preventDefault()

將其用于多點觸摸檢測=>


https://github.com/zlatnaspirala/multi-touch-canvas-handler/blob/master/index.html

This is multi touch handler.  

您需要在繪制或更新功能的某個地方->




if (CONTROL.MULTI_TOUCH_X1 !== 'undefined' && 

    CONTROL.MULTI_TOUCH_X2 !== 'undefined'){


       // Do it now ... 


}


// Maybe typeof is not needed

if (CONTROL.MULTI_TOUCH_X1 !== 'undefined' && 

    typeof CONTROL.MULTI_TOUCH_X2 == 'undefined'){


       // Do something to prevent scroll 

       // if you need it 



如果您不想使用多點觸控庫,請使用以下方法找到第二個觸控點:



document.addEventListener("touchstart",

  function (event) {


      var touch = event.touches[0];

      // CONTROL.X = touch.pageX;

      // CONTROL.Y = touch.pageY;

      

      var touches_changed = event.changedTouches;


      for (var i = 0; i < touches_changed.length; i++) {

         if (i == 1) {

           ...

         }

      }


 }


查看完整回答
反對 回復 2023-05-11
  • 1 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號