如何使用hammer.js实现两个手指点击

时间:2014-04-15 15:50:59

标签: jquery ios safari hammer.js

我正试图在iOS Safari上使用hammer.js实现两个手指点击,但没有任何成功。据我所知,如果手指触及的差距甚至达到50毫秒,则会触发捏合手势。

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

你能帮助我实现这个目标吗?

3 个答案:

答案 0 :(得分:2)

你可以试试Fingers.js lib(https://github.com/paztis/fingers.js) 在示例页面中解释了两个手指点击。 您可以自定义所需的手指数量(1,2,...,甚至11)

答案 1 :(得分:0)

我认为你必须添加一个点击识别器,参数“指针”设置为2.根据你的代码的组织方式,配置它的方法不止一种。 e.g。

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

答案 2 :(得分:0)

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