diff --git a/libs/horizon/src/event/EventBinding.ts b/libs/horizon/src/event/EventBinding.ts index 0623c9fb..9236eaa6 100644 --- a/libs/horizon/src/event/EventBinding.ts +++ b/libs/horizon/src/event/EventBinding.ts @@ -7,7 +7,7 @@ import { } from './EventHub'; import { isDocument } from '../dom/utils/Common'; import { getNearestVNode, getNonDelegatedListenerMap } from '../dom/DOMInternalKeys'; -import { runDiscreteUpdates } from '../renderer/TreeBuilder'; +import { asyncUpdates, runDiscreteUpdates } from '../renderer/TreeBuilder'; import { handleEventMain } from './HorizonEventMain'; import { decorateNativeEvent } from './EventWrapper'; import { VNode } from '../renderer/vnode/VNode'; @@ -98,7 +98,9 @@ function isCaptureEvent(horizonEventName) { function getWrapperListener(horizonEventName, nativeEvtName, targetElement, listener) { return event => { const customEvent = decorateNativeEvent(horizonEventName, nativeEvtName, event); - listener(customEvent); + asyncUpdates(() => { + listener(customEvent); + }); }; } diff --git a/libs/horizon/src/event/EventHub.ts b/libs/horizon/src/event/EventHub.ts index 944112f2..b357730a 100644 --- a/libs/horizon/src/event/EventHub.ts +++ b/libs/horizon/src/event/EventHub.ts @@ -12,6 +12,7 @@ export const horizonEventToNativeMap = new Map([ ['onFocus', ['focusin']], ['onBlur', ['focusout']], ['onInput', ['input']], + ['onWheel', ['wheel']], ['onMouseOut', ['mouseout']], ['onMouseOver', ['mouseover']], ['onPointerOut', ['pointerout']], @@ -41,6 +42,7 @@ export const horizonEventToNativeMap = new Map([ ]); export const NativeEventToHorizonMap = { click: 'click', + wheel: 'wheel', dblclick: 'doubleClick', contextmenu: 'contextMenu', dragend: 'dragEnd',