我使用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