如何绑定'点击'和& # 39;doubletap& # 39;到Hammer.js中的相同元素
How to bind 'tap' and 'doubletap' to the same element in Hammer.js?
我目前(尝试)创建一些基本元素,我正在使用cordova在eclipse中工作的手机游戏。这里我想做的主要事情是在同一个元素上设置两个tap事件。下面的代码显示了我是如何尝试解决这个问题的,但是当我尝试双击时,它不会被检测到-我所得到的只是两个单一的点击。我试过不同的方法,但都没用。
当双击失败时,我也在控制台上得到这个警报:"试图完成输入事件,但输入事件接收器已被处置"。var doubletapped = false,
tapped = false;
$(function() {
var element = document.getElementById('blue');
var hammertime = Hammer(element).on("tap doubletap", function(event) {
if (event.type == 'doubletap') {
tapped = false;
doubletapped = true;
alert('doubleTap!');
console.log('doubleTap!');
}
if (event.type == 'tap') {
doubletapped = false;
tapped = true;
alert('single tap!');
console.log('singleTap!');
}
});
});
如Hammer.js更改日志中所解释的,我设置了tap_always = false,但这并没有什么不同。你有什么建议吗?有没有其他的库,我可以做同样的事情,而没有这个问题?
我想要实现的是检测元素上不同的点击或/和手势,然后做不同的事情。例如,如果单点元素#1,则播放音频文件#1,如果双点同一元素,则播放音频文件#2。
请帮忙!
欢呼
试试这个-
var hammer = new Hammer.Manager(element, {});
var singleTap = new Hammer.Tap({event: 'singletap' });
var doubleTap = new Hammer.Tap({event: 'doubletap', taps: 2 });
hammer.add([doubleTap, singleTap]);
doubleTap.recognizeWith(singleTap);
singleTap.requireFailure([doubleTap]);
hammer.on('singletap', function() { console.log('single tap!') });
hammer.on('doubletap', function() { console.log('double tap!') });
相关文章:
- Hammer.js阻止在Android Webview中点击超链接
- Hammer.js滑动不会'单击按钮后才能工作
- Hammer.js过了一段时间就停止工作了
- 使用 Hammer.js 的程序化事件触发器
- 将页面控制添加到整页触摸滑动器/滑块-Hammer.js
- Hammer js:pinchend有时不会;不要开火
- 多个元素响应移动Webkit和Hammer JS上的触摸事件
- Hammer.js 在单击叠加层并将其删除时,将焦点设置在叠加层下方的输入上
- Meteor 和 Hammer JS 包的刷新后跟踪器错误
- hammer.js - 如何在不传播“点击”事件的情况下注册“保留”事件
- hammer.js - 父节点和子节点上的不同滑动处理程序
- 带有JQuery插件的Hammer.js没有触发事件
- Hammer.js:滑动事件对图像无效
- Hammer JS多tocuh事件中的事件委派不起作用
- Hammer.js元素在绝对容器滚动容器中
- 当触发平移方向时,Hammer.js将距离设置为0
- 使用Hammer.js缩放SVG
- Hammer.js(IE8)-对象没有't支持属性或方法'addEventListener'
- 如何使用Hammer.js Touch Emulator编辑文本输入字段
- 动态添加元素的Hammer.js事件