Jquery Hammer.js并禁用单击/点击事件,直到拖动/滑动结束
这是我第一次使用Hammer.js在平板电脑上使用滑动/拖动滑块 滑块工作得很好,但我遇到的问题是,组成滑块的每个LI项目都包含一个锚定链接,因此,当您向左/向右滑动并在滑动完成之前移除手指时,锚定标记链接将被触发,并将用户带到另一个页面 我想需要做的是,当滑动/拖动发生时,锚定/单击被禁用,并且只有在没有滑动/拖动的情况下才处于活动状态 代码如下Jquery Hammer.js并禁用单击/点击事件,直到拖动/滑动结束,jquery,events,click,hammer.js,Jquery,Events,Click,Hammer.js,这是我第一次使用Hammer.js在平板电脑上使用滑动/拖动滑块 滑块工作得很好,但我遇到的问题是,组成滑块的每个LI项目都包含一个锚定链接,因此,当您向左/向右滑动并在滑动完成之前移除手指时,锚定标记链接将被触发,并将用户带到另一个页面 我想需要做的是,当滑动/拖动发生时,锚定/单击被禁用,并且只有在没有滑动/拖动的情况下才处于活动状态 代码如下 myhammer = Hammer(element).on("release dragleft swipeleft dragright tap",
myhammer = Hammer(element).on("release dragleft swipeleft dragright tap", function (ev) {
ev.gesture.preventDefault();
switch (ev.type) {
case 'dragright': case 'swiperight':
ev.gesture.stopDetect();
ev.preventDefault();
//left_value = item_width * (-1);
//get the right position
var left_indent = parseInt($('#slides ul').css('left')) + item_width;
//slide the item
$('#slides ul').animate({ 'left': left_indent }, 200, function () {
etc...
});
//cancel the link behavior
return false;
}
});
我在case语句中添加了这个,它似乎解决了过早单击操作$(“.my nav li a”).click(function(event){event.stopPropagation();//do something});