在Hammer.js和jQuery中检测触摸事件何时结束

时间:2014-08-05 18:43:15

标签: javascript jquery hammer.js

在Hammer.js 2.02中,如何检测按下手势何时结束?

我有一个'按'时间为1的元素上的识别器,一旦按下事件开始就会打印一条消息。但是如何检查用户何时举起手指?现在我正在使用' pressup'几乎可以工作的识别器,除了它仅在用户将手指向下按住> 500ms时触发。如何查看短按时结束?

var pressOptions = {
    event: 'press',
    pointer: 1,
    threshold: 5,
    time: 1
};

var trackpadRight = $('#trackpad-right').hammer();
trackpadRight.data("hammer").get('press').set(pressOptions);

trackpadRight.bind('press', function(ev) {
    console.log("PRESSS DOWN");
});

trackpadRight.bind('pressup', function(ev) {
    console.log("PRESS UP");
});

2 个答案:

答案 0 :(得分:4)

只使用没有jQuery的Hammer。

var pressOptions = {
    // event: 'press', //no need to pass defaults
    // pointer: 1,
    // threshold: 5,
    time: 1
};

var trackpadRightTouch = new Hammer(document.getElementById('trackpad-right'));
trackpadRightTouch.get('press').set(pressOptions);

trackpadRightTouch.on('press', function(ev) {
    console.log("PRESSS DOWN");
});

trackpadRightTouch.on('pressup', function(ev) {
    console.log("PRESS UP");
});

这应该有效。

答案 1 :(得分:1)

根据您的评论,我认为您需要检测触摸释放。如果是,那么您可以使用默认" touchend" event直接绑定到元素,如下所示:

$('#trackpad-right').bind('touchend', function(ev) {
    console.log("PRESS UP");
});