From 6458656919e5d00b9454bd0f55307c310455b646 Mon Sep 17 00:00:00 2001 From: Damian Pieczynski Date: Fri, 7 Feb 2025 06:01:51 +0100 Subject: [PATCH] fix: register scrollend event when useScrollendEvent --- packages/virtual-core/src/index.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/virtual-core/src/index.ts b/packages/virtual-core/src/index.ts index 20c2e4235..8bad751d4 100644 --- a/packages/virtual-core/src/index.ts +++ b/packages/virtual-core/src/index.ts @@ -170,11 +170,16 @@ export const observeElementOffset = ( endHandler() element.addEventListener('scroll', handler, addEventListenerOptions) - element.addEventListener('scrollend', endHandler, addEventListenerOptions) - + const registerScrollendEvent = + instance.options.useScrollendEvent && supportsScrollend + if (registerScrollendEvent) { + element.addEventListener('scrollend', endHandler, addEventListenerOptions) + } return () => { element.removeEventListener('scroll', handler) - element.removeEventListener('scrollend', endHandler) + if (registerScrollendEvent) { + element.removeEventListener('scrollend', endHandler) + } } } @@ -213,11 +218,16 @@ export const observeWindowOffset = ( endHandler() element.addEventListener('scroll', handler, addEventListenerOptions) - element.addEventListener('scrollend', endHandler, addEventListenerOptions) - + const registerScrollendEvent = + instance.options.useScrollendEvent && supportsScrollend + if (registerScrollendEvent) { + element.addEventListener('scrollend', endHandler, addEventListenerOptions) + } return () => { element.removeEventListener('scroll', handler) - element.removeEventListener('scrollend', endHandler) + if (registerScrollendEvent) { + element.removeEventListener('scrollend', endHandler) + } } }