diff --git a/src/actions/swipeable/swipeable.js b/src/actions/swipeable/swipeable.js index d4f8bf8..16c2854 100644 --- a/src/actions/swipeable/swipeable.js +++ b/src/actions/swipeable/swipeable.js @@ -47,6 +47,17 @@ export function swipeable(node, { thresholdProvider }) { dispatch('swipeStart', { x, y }) addMoveEventListener(window, handleMove) addEndEventListener(window, handleUp) + // Prevents link text from displaying when content is swiped. + event.preventDefault(); + } + + function checkShouldOpenLink(node) { + const linkOpenThreshold = 10; + if (Math.abs(moved) > linkOpenThreshold) { + node.addEventListener('click', (event) => event.preventDefault(event), { + once: true, + }); + } } function handleMove(event) { @@ -66,12 +77,14 @@ export function swipeable(node, { thresholdProvider }) { dispatch('swipeThresholdReached', { direction: moved > 0 ? PREV : NEXT }) removeEndEventListener(window, handleUp) removeMoveEventListener(window, handleMove) + checkShouldOpenLink(node); } } function handleUp(event) { removeEndEventListener(window, handleUp) removeMoveEventListener(window, handleMove) + checkShouldOpenLink(node); isTouching = false