簡體   English   中英

Hammer.js的最小拖動/滑動距離

[英]Minimum drag/swipe distance with hammer.js

我正在做HTML5應用,我想配置滑動/拖動功能以打開/關閉offcanvas菜單。

該功能效果很好,但我想進行更精確的水平滑動或拖動,以防止觸發垂直滾動和激活菜單。

默認情況下,滑動似乎效果不佳,因為必須非常快(即使更改速度),拖動也可以,但是只需按一下並移動即可激活該事件。

我嘗試更改變量drag_lock_min_distance ,但不幸的是根本不起作用,即使隨后產生巨大的價值,我也無法感受到差異。

我嘗試實時檢查內部變量X速度和距離,但它們以第一個事件(而不是dragstartdragend為參考顯示值。

我正在將原始的Hammer.js與Twitter引導程序結合使用,CDN的Hammerjs版本1.0.6(最后一個穩定版本)。 我正在使用Android股票瀏覽器4.1.2和4.4(兩部不同的手機)以及適用於Android的Google Chrome瀏覽器進行測試。 這里有代碼:

var element = document.getElementById('contenido');
Hammer(element,{drag: true,
      prevent_default: false,
      drag_block_horizontal: true,
      drag_lock_min_distance: 250,
      hold: true,
      release: true}).on("dragleft", function(event) {
// function
});
Hammer(element,{drag: true,
      prevent_default: false,
      drag_block_horizontal: true,
      drag_lock_min_distance: 250,
      hold: true,
      release: true}).on("dragright", function(event) {
//function
});

您是否知道控制距離,降低事件發覺的任何方法?

對於將來遇到這種情況的人,從Hammer > 2.0

您可以指定閾值選項以設置識別之前所需的最小距離,如下所示:

var hammertime = new Hammer(myElement, myOptions);
hammertime.get('swipe').set({ threshold: 100 });
hammertime.on('swipe', function(ev) {
   console.log(ev);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM