@@ -154,6 +154,7 @@ let nodeToRemove = (vNode: VNode) => {
154154} ;
155155
156156const vnodeOnlyProps = [
157+ "on" ,
157158 "afterCreate" ,
158159 "afterUpdate" ,
159160 "afterRemoved" ,
@@ -206,22 +207,6 @@ let setProperties = (
206207 projectionOptions . styleApplyer ! ( < HTMLElement > domNode , styleName , styleValue ) ;
207208 }
208209 }
209- } else if ( propName === "on" && propValue ) {
210- // object with string keys and function values
211- for ( let [ key , handler ] of Object . entries ( properties . on ! ) ) {
212- let listener : EventHandler | undefined =
213- typeof handler === "function" ? handler : handler . listener ;
214- if ( eventHandlerInterceptor ) {
215- listener = eventHandlerInterceptor ( key , listener , domNode , properties ) ;
216- }
217- if ( listener ) {
218- domNode . addEventListener (
219- key ,
220- listener ,
221- typeof handler === "function" ? undefined : handler . options
222- ) ;
223- }
224- }
225210 } else if ( propName !== "key" && propValue !== null && propValue !== undefined ) {
226211 let type = typeof propValue ;
227212 if ( type === "function" ) {
@@ -246,6 +231,23 @@ let setProperties = (
246231 }
247232 }
248233 }
234+ if ( properties . on ) {
235+ // object with string keys and function values
236+ for ( let [ key , handler ] of Object . entries ( properties . on ) ) {
237+ let listener : EventHandler | undefined =
238+ typeof handler === "function" ? handler : handler . listener ;
239+ if ( eventHandlerInterceptor ) {
240+ listener = eventHandlerInterceptor ( key , listener , domNode , properties ) ;
241+ }
242+ if ( listener ) {
243+ domNode . addEventListener (
244+ key ,
245+ listener ,
246+ typeof handler === "function" ? undefined : handler . options
247+ ) ;
248+ }
249+ }
250+ }
249251} ;
250252
251253let addChildren = (
0 commit comments