我在查找/弄清楚如何在使用hammer.js时向jQuery plugin添加选项时遇到问题。这就是我发起锤子的方式:
/* Create Hammer object for swipable game cards */
$('.game-card-mobile')
.hammer()
.bind('swiperight swipeleft press', function(ev) {
console.log(ev.type);
});
我发现为了执行滑动操作需要进行相对快速的滑动,我想降低触发事件所需的滑动速度。阅读文档之后:http://hammerjs.github.io/recognizer-swipe/似乎有一个默认为0.65的速度选项,所以我假设这可以以某种方式改变为0.5,以便在较慢的滑动上触发事件?
编辑:如果这对您有任何帮助,请参阅javascript中的滑动测试示例:https://github.com/hammerjs/hammer.js/blob/master/tests/unit/gestures/test_swipe.js这显示了{threshold: 1}
的示例设置,我正在尝试使用jQuery插件实现这一点。
答案 0 :(得分:6)
您发布的链接来自名为Hammer.js的库。您必须在项目中导入此库才能使其正常工作。
识别之前所需的最小速度,单位是px每毫秒 正如他们所说,那么它每毫秒0.65px,然后使其成为0.50应该使事件成为事件在触摸时以较低的速度发生。
0.50 - >将在
之前开火0.80 - >更难解雇
var hammertime = new Hammer(myElement, myOptions);
hammertime.on('swipe', function(ev) {
alert(ev);
});
hammertime.get('swipe').set({ velocity: 0.80});
也许是正确的方法?
Hoy它可以帮助你。
编辑: 如jquery api页面中所述:Hammer实例存储在$ element.data(“hammer”)中。
然后可能
$("#yourdivtoswipe_id").data('hammer').get('swipe').set({ velocity: 0.80});
问候
答案 1 :(得分:1)
这是:
$("#yourelemenet").hammer({options}).bind("tap", function(ev) {});
注意选项对象。以下是我的一些代码的简单示例:
$("#yourelemenet").hammer({threshold: 10, posThreshold:50, time:1000}).bind("tap", function(ev) {});
编辑:在你看到阈值,posThreshold,时间以上时添加速度..