Native scrolling (scrollbar and keyboard) is blocked/prevented during lenis scroll animation
Describe the bug During the lenis scroll animaton, scrolling via scrollbar or keyboard shortcut (scrollbar) is blocked/prevented (by lenis). In other words, the scroll animation, triggered/executed by lenis, can not be interrupted/cancelled by native scrolling via scrollbar or space bar.
Imo when scrolling natively (via scrollbar, spacebar, etc.) the current scroll animation should be cancelled/stopped immediately to give the user control over the scroll experience/behavior.
To Reproduce codepen
Let me explain how lenis works:
- Listen to wheel events and prevent the event to block the native scroll.
- Get the wheel delta value to increase the target value.
- Animate the scroll to reach the target value.
- Scroll events (keyboard, grab scrollbar, etc.) catched during this animation time are ignored because there is no way to prevent them, Lenis is only preventing wheel events. And conversely, scroll events catched out of this animation time update scroll value.
So because there is no way to discriminate native scroll events over scroll events triggered by lenis animation, your ask seems impossible. Currently the only way the user can take control over the scrollTo animation is to scroll using MouseWheel
@clementroche, got it - makes sense; I know the "problem". Wish it would be possible tho. 😅