[英]Minimum drag/swipe distance with hammer.js
我正在做HTML5應用,我想配置滑動/拖動功能以打開/關閉offcanvas菜單。
該功能效果很好,但我想進行更精確的水平滑動或拖動,以防止觸發垂直滾動和激活菜單。
默認情況下,滑動似乎效果不佳,因為必須非常快(即使更改速度),拖動也可以,但是只需按一下並移動即可激活該事件。
我嘗試更改變量drag_lock_min_distance
,但不幸的是根本不起作用,即使隨后產生巨大的價值,我也無法感受到差異。
我嘗試實時檢查內部變量X速度和距離,但它們以第一個事件(而不是dragstart
和dragend
為參考顯示值。
我正在將原始的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.