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) + } } }