Pinchin并没有使用Hammer库进行调整

时间:2014-08-28 13:31:47

标签: javascript jquery hammer.js

我已经下载了Hammers.js版本-1.0.10我有很多人试着打电话给'捏捏'来自js文件的函数,但它无法执行。我认为在图书馆问题我有下载其他但同样的问题发生。其他功能,如触摸,滑动,拖动所有作品只是捏不工作[不调用]。 如果有人知道,请告诉我。

谢谢

2 个答案:

答案 0 :(得分:3)

我不确定具体的版本。在2.0.2中,默认情况下禁用pinch。使用以下内容启用它:

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

答案 1 :(得分:1)

我现在仔细看看那个版本,并且“pinch”,“pinchin”,“pinchout”和“transform”的事件都应该被解雇。

如果您没有缩小版本,可以在第1217行看到此内容

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

“变换”和“捏”是更一般的事件。您可以使用事件数据来确定它是否进入。

正如我第一次建议的那样,您可以使用“转换”事件。版本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;
});

对于满足transform_min_scale值,pinchin / out事件的触发是有条件的。创建锤子元素时,请尝试将transform_min_scale设置为-1。