平钦没有't使用Hammer库调用

Pinchin doesn't calll using Hammer library

本文关键字:使用 Hammer 调用      更新时间:2023-09-26

我已经下载了Hammers.js-1.0.10版本,我有很多尝试从js文件中调用'pink-in'函数,但它无法执行。我想在图书馆的问题我下载了其他但同样的问题发生了。其他功能,如触摸、滑动、拖动都有效,只有捏不起作用[不调用]。如果有人知道就告诉我。

感谢

我不确定具体的版本。在2.0.2中,默认情况下会禁用pinch。使用类似的东西启用它

mc.get('pinch').set({enable: true})

我现在已经仔细研究了那个版本,"pinck"、"pinchin"、"pinchout"answers"transform"的事件都应该被触发。

如果你没有缩小版,你可以在第1217行看到这个

inst.trigger('pinch', ev);
inst.trigger('pinch'+ ((ev.scale < 1) ? 'in' : 'out'), ev);

"转换"answers"夹点"是比较普遍的事件。您可以使用事件数据来确定它是输入还是输出。

正如我第一次建议的那样,您可以使用"transform"事件。1.0.10版本附带的捏缩放示例也使用了转换事件:

hammertime.on('touch drag transform', function(ev) {
    switch(ev.type) {
        case 'touch':
            last_scale = scale;
            last_rotation = rotation;
            break;
        case 'drag':
            posX = ev.gesture.deltaX;
            posY = ev.gesture.deltaY;
            break;
        case 'transform':
            rotation = last_rotation + ev.gesture.rotation;
            scale = Math.max(1, Math.min(last_scale * ev.gesture.scale, 10));
            break;
    }
    // transform!
    var transform =
            "translate3d("+posX+"px,"+posY+"px, 0) " +
            "scale3d("+scale+","+scale+", 0) " +
            "rotate("+rotation+"deg) ";
    rect.style.transform = transform;
    rect.style.oTransform = transform;
    rect.style.msTransform = transform;
    rect.style.mozTransform = transform;
    rect.style.webkitTransform = transform;
});

pinchin/out事件的触发是在满足transform_min_scale值的条件下进行的。创建hammer元素时,请尝试将transform_min_scale设置为-1。