标签: hammer.js

在动态加载的内容上使用hammer.js

我正在玩hammer.js的网络应用程序.

我可以让它工作得很好,除了加载了ajax的内容.

我为jquery使用hammer.js特殊事件插件.

以下工作正常:

$('#menu a').on("tap", function(event) {
 //console.log(event);
});
Run Code Online (Sandbox Code Playgroud)

但是当我使用jquery委托语法时:

$('body').on("tap", '#menu a', function(event) {
 //console.log(event);
});
Run Code Online (Sandbox Code Playgroud)

什么都没发生...

什么是正确的语法?

ajax jquery hammer.js

5
推荐指数
1
解决办法
1901
查看次数

删除锤子事件

我使用hammer.js库创建一个事件,如下所示:

Hammer(myElement).on("doubletap", function(evt){
            evt.preventDefault();
        });
Run Code Online (Sandbox Code Playgroud)

我怎样才能删除注册的活动?我还可以使用Jquery吗?

javascript hammer.js

5
推荐指数
1
解决办法
1万
查看次数

在hammer.js中,如何为iOS尽可能快速地进行滑动?

我正在制作一个html5游戏并在我的iPad上进行测试.我想尽可能快速地刷卡,但我不知道该怎么做.我的意思是,给出一些像这样的代码:

$('#test_el').hammer().on("swipeup", function(event) {
    console.log(this, event);
});
Run Code Online (Sandbox Code Playgroud)

当用户刷卡时,如何尽早制作控制台日志?有一件事情我已经做了设置在swipe_velocity选择像" 0.05"到一个非常小的数目.我制作的数字越小,刷卡响应越快.也许让数字更小可以得到我正是我需要的东西.但是在当前状态下,当我将它与具有类似控件的本机应用程序进行比较时,我得到的反应似乎仍有一点延迟.我想摆脱那种延迟,但我不知道如何.

javascript ios hammer.js

5
推荐指数
0
解决办法
1013
查看次数

如何使用hammer.js 2获得正确的事件传播?

我正在使用Hammer.js 2.0.4,我有两个hammerjs实例来监听tap事件:在父div元素中,在子元素中有一个.我希望在孩子处理时停止事件传播.但是,hammer.js 2不支持.

在下面的示例中,我希望tap子事件的事件首先触发,然后触发父事件的事件(事件从子节点冒泡到父节点).相反,它看起来像第一个创建的hammer.js 实例tap事件首先触发.

尝试以下示例(也在jsbin上):

<!DOCTYPE html>
<html>
<head>
  <script src="//cdn.jsdelivr.net/hammerjs/2.0.4/hammer.js"></script>
  <style>
    #child {
      width: 200px;
      height: 200px;
      background: lightgreen;
    }
  </style>
</head>
<body>
<p>
  See the browser console. Why does the tap event of the parent div fire first?
</p>
<div id="parent">
  <div id="child">click here</div>
</div>

<script>
  var hammerParent = new Hammer(document.getElementById('parent'));
  var hammerChild = new Hammer(document.getElementById('child'));

  hammerParent.on('tap', function (event) {
    console.log('tap parent');
  });

  hammerChild.on('tap', …
Run Code Online (Sandbox Code Playgroud)

javascript touch event-propagation hammer.js

5
推荐指数
1
解决办法
704
查看次数

使用Hammer.js进行多点触控平移

我很难用hammer.js实现多点触控平移.仅使用单指针触发平移事件.如果我尝试用两根手指拖动它,直到我释放至少一根手指才会开火.我是否必须对锤子配置做一些特殊操作?

编辑:我已经发现我可以为pan事件配置2个指针,但是现在我看到Chrome有一个内置功能,可以在双指点击上打开上下文菜单,这大部分时间都会阻止平移被识别.如果我只是捕获'contextmenu'事件并调用preventDefault(),它(显然)将完全禁用pan识别器.还有其他方法吗?

BR,丹尼尔

javascript panning hammer.js

5
推荐指数
1
解决办法
1895
查看次数

锤子js - 关闭菜单向右滑动 - 垂直滑动干扰

我想向右滑动以关闭我的菜单.我希望用户能够在我的菜单中上下滚动,因为菜单可能在移动设备上很长.

但是,如果向上或向下滑动并向右滑动一下,它会关闭菜单.

http://codepen.io/ashconnolly/pen/gpBLPp/

$('.menu_toggle').click(function (event) {
    $('.menu').toggleClass('active');
});

new Hammer(document.getElementById('menu')).on("panright", function(ev) {
    $('.menu').removeClass('active');
});
Run Code Online (Sandbox Code Playgroud)

这有一个简单的方法吗?我几乎想要一个阈值来使它显而易见.

就像一个简单的计算 - 如果向右移动的距离大于垂直移动的距离=向右滑动.希望你能帮忙!

html javascript jquery hammer.js

5
推荐指数
1
解决办法
889
查看次数

hammer-time.min.js包含未定义的函数hasTouchNone

我下载了hammer-time.min.js,当我运行时,我的浏览器出现异常.

TypeError:this.hasTouchNone不是函数.(在'this.hasTouchNone(a.target)'中,'this.hasTouchNone'未定义)

我错过了一个图书馆吗?

更新: 我尝试下载完整的Javascript(非缩小版).它工作正常.当我检查代码时,hasTouchNone函数不在代码中.

javascript jquery hammer.js

5
推荐指数
1
解决办法
602
查看次数

使用angular2测试hammerjs事件

我正在构建一个测试套件,并尝试覆盖100%的代码.事情是,我在平移时有回调函数.有没有人如何在angular2上使用karma和jasmine正确测试hammerjs事件?

HTML

<div (pan)="panning($event)" id="square">
Run Code Online (Sandbox Code Playgroud)

打字稿

public swiper($event) {
  let e = $event;
  let top = e.center.x - (e.target.clientHeight/2);
  let left = e.center.y - (e.target.clientWidth/2);
  e.target.style.transform = 'translate3d('+ top +'px, '+ left +'px, 0px)';
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

中号

unit-testing hammer.js angular

5
推荐指数
1
解决办法
723
查看次数

在Angular 2中关闭Hammer JS事件以允许滚动

我正在使用Hammer JS进行swipeleft和swiperight事件,但是用户仍然需要能够上下滚动。我能够捕获swipeup和swipedown事件,但是我真正想做的是禁用它们(以及panup和pandown)。我将如何在Angular 2中执行此操作?

在Manager下,有一个取消绑定事件的方法,我只是不知道如何从Angular 2中调用它。

经理关闭方法文档

还是有另一种方法可以覆盖Hammer JS以允许正常滚动?

hammer.js angular

5
推荐指数
1
解决办法
2229
查看次数

Hammer.js滑动支持1和/或2个手指

我正在使用带有Angular 5的Hammer.js来支持使用鼠标和触摸进行滑动.问题是触摸动作应该用两个手指而不是一个手指完成.

是否可以在Hammer.js中支持1和2指针进行滑动(左和右)?

理想情况下,我还想区分鼠标和触摸,因为"鼠标"事件返回maxPointers:1(总是?).

touch swipe hammer.js angular

5
推荐指数
0
解决办法
466
查看次数