diff --git a/packages/@headlessui-react/src/hooks/document-overflow/handle-ios-locking.ts b/packages/@headlessui-react/src/hooks/document-overflow/handle-ios-locking.ts index 3a70893e8f..f97b648373 100644 --- a/packages/@headlessui-react/src/hooks/document-overflow/handle-ios-locking.ts +++ b/packages/@headlessui-react/src/hooks/document-overflow/handle-ios-locking.ts @@ -83,7 +83,9 @@ export function handleIOSLocking(): ScrollLockStep { d.style(rootContainer, 'overscrollBehavior', 'contain') } else { - d.style(e.target, 'touchAction', 'none') + // Disable all touch actions related to scrolling, + // but still allow pinch-to-zoom. + d.style(e.target, 'touchAction', 'pinch-zoom') } } }) diff --git a/packages/@headlessui-vue/src/hooks/document-overflow/handle-ios-locking.ts b/packages/@headlessui-vue/src/hooks/document-overflow/handle-ios-locking.ts index de139c19f8..3eb1c0c07d 100644 --- a/packages/@headlessui-vue/src/hooks/document-overflow/handle-ios-locking.ts +++ b/packages/@headlessui-vue/src/hooks/document-overflow/handle-ios-locking.ts @@ -83,7 +83,9 @@ export function handleIOSLocking(): ScrollLockStep { d.style(rootContainer, 'overscrollBehavior', 'contain') } else { - d.style(e.target, 'touchAction', 'none') + // Disable all touch actions related to scrolling, + // but still allow pinch-to-zoom. + d.style(e.target, 'touchAction', 'pinch-zoom') } } })