我需要跟踪用户触摸事件。我想跟踪用户何时从边缘滑动。
例如,当用户从左侧垂直边缘滑动时,我将显示一个菜单,从右侧边缘发出警报,并在用户从顶部滑动时显示另一个菜单。

我找不到类似的用法。
我该如何做出这种行为?跟踪从边缘滑动?
我使用hammer.js尝试了此操作,因为我使用的是jQuery,
但是其他库(QuoJSTouchSwipeTouchy等)对我来说也可以。

fiddle :http://jsfiddle.net/mavent/ym4JV/51/

 $(document).hammer()
    .on("tap doubletap hold drag swipe pinch rotate dragup dragdown swipeup swipedown", function (event) {
        $('#updateArea').html(event.type + ". direction:" + event.gesture.direction  + "<br>deltaX:" + event.gesture.deltaX.toFixed(2)         + ". deltaY:" + event.gesture.deltaY.toFixed(2) + "<br> centerX:" + event.gesture.center.pageX.toFixed(2) + ". centerY:" + event.gesture.center.pageY.toFixed(2));
        var currentText = $('#logArea').text();
        $('#logArea').text(""+currentText+" . "+event.type);
    });

最佳答案

使用Hammer.js v2.0.4,我发现这最有效:

$("html").hammer().on('swiperight', function (e) {
    var endPoint = e.pointers[0].pageX;
    var distance = e.distance;
    var origin = endPoint - distance;

    if (origin <= 15) {
        // They swiped, starting from no more than 15px away from the edge.
    }
});

关于Javascript触摸运动,跟踪用户何时从边缘滑动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24163202/

10-15 07:07