tweak MkPullToRefresh.vue

This commit is contained in:
syuilo 2025-05-03 21:14:59 +09:00 committed by GitHub
parent ef79cc290f
commit 27682b980c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 7 additions and 4 deletions

View File

@ -64,13 +64,15 @@ function getScreenY(event: TouchEvent | MouseEvent | PointerEvent): number {
// When at the top of the page, disable vertical overscroll so passive touch listeners can take over. // When at the top of the page, disable vertical overscroll so passive touch listeners can take over.
function lockDownScroll() { function lockDownScroll() {
scrollEl!.style.touchAction = 'pan-x pan-down pinch-zoom'; if (scrollEl == null) return;
scrollEl!.style.overscrollBehavior = 'none'; scrollEl.style.touchAction = 'pan-x pan-down pinch-zoom';
scrollEl.style.overscrollBehavior = 'none';
} }
function unlockDownScroll() { function unlockDownScroll() {
scrollEl!.style.touchAction = 'auto'; if (scrollEl == null) return;
scrollEl!.style.overscrollBehavior = 'contain'; scrollEl.style.touchAction = 'auto';
scrollEl.style.overscrollBehavior = 'contain';
} }
function moveStart(event: PointerEvent) { function moveStart(event: PointerEvent) {
@ -211,6 +213,7 @@ onMounted(() => {
}); });
onUnmounted(() => { onUnmounted(() => {
unlockDownScroll();
if (rootEl.value) rootEl.value.removeEventListener('pointerdown', moveStart); if (rootEl.value) rootEl.value.removeEventListener('pointerdown', moveStart);
if (rootEl.value) rootEl.value.removeEventListener('touchend', toggleScrollLockOnTouchEnd); if (rootEl.value) rootEl.value.removeEventListener('touchend', toggleScrollLockOnTouchEnd);
}); });