我使用TouchSwipe来创建可滑动的图像列表。我将滑动事件绑定到图像,同时我还绑定了可打开图像大版本的单击事件。如何防止刷卡触发点击?
我的问题是,如果我刷卡,它也会触发点击事件。我试过tap instead of swipe,但我无法完成工作。在此之后,我尝试了event.preventDefault()
和event.stopPropagation()
,这是在很多地方建议的,但没有效果。我最终的解决方案是解除click事件并在事件后重新绑定它,但如果我在事件函数的最后绑定事件,它会再次触发点击。
$(".js-header-swipe-image").swipe({
swipe:function(event, direction, distance, duration, fingerCount){
$("#details").unbind('click');//Temporary unbind, otherwise the swipe's click would trigger the gallery opening.
//Handling swipe direction.
$('#details').on('click', '.js-header-swipe-image', function(){//Rebind the temporary unbinded event.
console.log('click');
$('#modal-gallery').modal('show');
});
}
});
有没有办法在活动结束后完成,以便完成刷卡后我可以重新绑定点击所以它不会触发rebinded点击中止了事件本身或者调用一个函数?我也愿意接受任何其他解决方案。
你有没有找到任何解决办法? – flakerimi
@Flakerim不,但发现在移动平台上它的实现方式不同,所以这个问题在那里不存在。在PC上仍然是一个问题。 – totymedli
我修正了我的问题,它使用革命性的滑动滑动插入,我将$ .fn.swipe重命名为$ .fn.swipeing并调用.swipeing({}),检查这是否有助于您。你可能有其他插件重写滑动。 – flakerimi