【问题标题】:How to implement two finger tap using hammer.js如何使用hammer.js实现两个手指敲击
【发布时间】:2014-04-15 15:50:58
【问题描述】:

我正在尝试在 iOS Safari 上使用hammer.js 实现两个手指点击,但没有任何成功。据我了解,如果两个手指在几乎没有差别甚至 50 毫秒的时间内触摸它就会触发捏合手势。

通过点击事件,我正在检查event.gesture.touches.length === 2,它满足我的要求,但它的效率非常低。

你能帮我实现这个吗?

【问题讨论】:

    标签: jquery ios safari hammer.js


    【解决方案1】:

    你可以试试 Fingers.js 库 (https://github.com/paztis/fingers.js) 示例页面中解释了两指轻敲。 您可以自定义您想要的手指数量(1、2、...,甚至 11)

    【讨论】:

    • 暂时我使用了另一种解决方案......但只要我有时间......会试试这个!谢谢:)
    • 使用另一个库并不能真正回答有关如何使用hammerjs 执行此操作的问题。 @abhas 你介意分享你的解决方案吗?
    【解决方案2】:

    我认为您必须添加一个点击识别器,并将参数“pointers”设置为 2。根据您的代码的组织方式,配置它的方法不止一种。例如

    var hammer = new Hammer.Manager(div, {
            recognizers: [
                // RecognizerClass, [options], [recognizeWith, ...], [requireFailure, ...]
                [Hammer.Tap, { event: 'singletap2', pointers: 2 } ],
                [Hammer.Tap, { event: 'singletap' } ],
                ...
    

    【讨论】:

      【解决方案3】:
      var myElement = document.getElementById('pad');
      var mc = new Hammer.Manager(myElement);
      mc.add( new Hammer.Swipe({ event: 'a', pointers: 2,direction:2}) );
      
      
      mc.on("a", function(ev) {
         alert("left 2")
      });
      

      您可以使用上面的代码来了解用两根手指向左滑动。

      更改指针值以更改手指数

      要更改滑动方向,请使用下表。

      • DIRECTION_NONE 1
      • DIRECTION_LEFT 2
      • DIRECTION_RIGHT 4
      • DIRECTION_UP 8
      • DIRECTION_DOWN 16
      • DIRECTION_HORIZONTAL 6
      • DIRECTION_VERTICAL 24
      • DIRECTION_ALL 30

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-19
        相关资源
        最近更新 更多