我使用TouchSwipe来创建可滑动的图片列表。我将滑动事件绑定到图像上,同时也绑定了一个点击事件,用于打开图像的大版本。
我的问题是,如果我滑动,它也会触发点击事件。我尝试了使用tap代替swipe,但无法使其工作。之后,我尝试了在许多地方建议的
有没有一种方法可以中止事件本身或在事件完成后调用函数,以便我可以重新绑定点击,以便它不会触发重新绑定的点击?我也对任何其他解决方案持开放态度。
我的问题是,如果我滑动,它也会触发点击事件。我尝试了使用tap代替swipe,但无法使其工作。之后,我尝试了在许多地方建议的
event.preventDefault()
和event.stopPropagation()
,但没有效果。我的最终解决方案尝试是取消绑定点击事件,并在事件后重新绑定它,但如果我在事件函数的最后绑定事件,它会再次触发点击事件。$(".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');
});
}
});
有没有一种方法可以中止事件本身或在事件完成后调用函数,以便我可以重新绑定点击,以便它不会触发重新绑定的点击?我也对任何其他解决方案持开放态度。