Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Hammer.js和jQuery中检测触摸事件何时结束_Javascript_Jquery_Hammer.js - Fatal编程技术网

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

Javascript 在Hammer.js和jQuery中检测触摸事件何时结束,javascript,jquery,hammer.js,Javascript,Jquery,Hammer.js,在Hammer.js 2.02中,如何检测按下手势何时结束 我在一个时间为1的元素上有一个“按下”识别器,它会在按下事件开始时打印一条消息。但我如何检查用户何时抬起手指?现在我使用的是“pressup”识别器,它几乎可以工作,只是只有当用户按住手指超过500毫秒时才会触发。我如何检查较短的印刷机何时结束 var pressOptions = { event: 'press', pointer: 1, threshold: 5, time: 1 }; var tr

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

我在一个时间为1的元素上有一个“按下”识别器,它会在按下事件开始时打印一条消息。但我如何检查用户何时抬起手指?现在我使用的是“pressup”识别器,它几乎可以工作,只是只有当用户按住手指超过500毫秒时才会触发。我如何检查较短的印刷机何时结束

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");
});

根据您的评论,我认为您需要检测触摸释放。如果是,则可以通过直接绑定到元素来使用默认的“touchend”事件,如下所示:

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

只需使用Hammer而不使用jQuery

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");
});

这应该会起作用。

实际上,如果在释放之前稍微拖动手指,则pressup不会触发(hammver v2.0.4)。这就是阈值的作用。您可以将其更改为handle.FWIW,因为按一下按钮不会听我的经验中的
time
内容。对于常规的
press
事件,它设置得很好。是的,首先使用hammerjs“press”和{time:1}属性绑定,然后使用jquery绑定touchend和mouseup停止