相当于hammer.js 2.0中的“hold”和“release”

时间:2014-07-12 12:16:55

标签: javascript hammer.js

在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

我无法找到允许发布类型功能的适当识别器。任何想法,建议或想法都表示赞赏。欢呼阅读!

3 个答案:

答案 0 :(得分:3)

答案 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。