这是我第一次使用 Hammer.js 在平板电脑上实现滑动/拖动滑块。
滑块运行良好,但我遇到的问题是构成滑块的每个 LI 项目都包含一个锚链接,因此当您向左/向右滑动并在滑动完成之前移开手指时,会触发锚标记链接并且将用户带到另一个页面。
我想需要发生的是在滑动/拖动发生时锚/单击被禁用,并且仅在没有滑动/拖动时才处于活动状态。
代码如下
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;
}
});