在hammer.js 1.1.3版本中,我能够完美地使用以下代码:
var button = Hammer(element, {
hold: true,
release: true
});
button .on('hold', function() {
//Do something when the hold event starts
});
button .on('release', function() {
//Do something when the hold event stops
});
但是在hammer.js 2.0中,我很难找到一个等价物:
var button = new Hammer.Manager(element);
button.add(new Hammer.Press({
event: 'press',
pointer: 1,
threshold: 5,
time: 500
}));
button.on('press', function(event) {
//Do something when the the element is pressed after 500ms
});
//Possible handler when the element is released?
根据新hammer.js 2.0的文档(http://hammerjs.github.io/getting-started.html),有5个识别器:
Pan, Pinch, Press, Rotate, Swipe, Tap
我无法找到允许发布类型功能的适当识别器。任何想法,建议或想法都表示赞赏。欢呼阅读!
答案 0 :(得分:3)
这将在下一版本2.0.1中得到支持! https://github.com/hammerjs/hammer.js/commit/a764fde2e89c3af2575ae02d3af41d7787a60dc5
答案 1 :(得分:0)
通过使用“ press”(按住)和“ pressup”(释放)来实现此功能
var hammer = new Hammer(this);
hammer.on("press pressup", function (ev) {
// Hold gesture start (press)
if (ev.type == "press") {
console.log("Hold active");
}
// Hold gesture stop (pressup)
if (ev.type == "pressup") {
console.log("Hold inactive");
}
});
在Hammer.JS v2.0.8上测试
答案 2 :(得分:-2)
使用
$(button).on('touchend',function(e){});
适用于jQuery。