@@ -36,15 +36,31 @@ export default {
3636 core . inputHandler ( e as core . CustomInputEvent )
3737 }
3838
39- handlerOwner . addEventListener ( 'input' , oninput , true )
40-
41- el . onblur = ( e ) => core . blurHandler ( e )
39+ const onblur = ( e : Event ) => {
40+ if ( e . target !== el ) {
41+ return
42+ }
43+ core . blurHandler ( e as core . CustomInputEvent )
44+ }
4245
4346 // check decimal key and insert to current element
4447 // updated cursor position after format the value
45- el . onkeydown = ( e ) => core . keydownHandler ( e , el )
48+ const onkeydown = ( e : Event ) => {
49+ if ( e . target !== el ) {
50+ return
51+ }
52+ core . keydownHandler ( e as KeyboardEvent , el )
53+ }
4654
47- el . cleanup = ( ) => handlerOwner . removeEventListener ( 'input' , oninput , true )
55+ handlerOwner . addEventListener ( 'input' , oninput , true )
56+ handlerOwner . addEventListener ( 'blur' , onblur , true )
57+ handlerOwner . addEventListener ( 'keydown' , onkeydown , true )
58+
59+ el . cleanup = ( ) => {
60+ handlerOwner . removeEventListener ( 'input' , oninput , true )
61+ handlerOwner . removeEventListener ( 'blur' , onblur , true )
62+ handlerOwner . removeEventListener ( 'keydown' , onkeydown , true )
63+ }
4864 } ,
4965
5066 updated : ( el : core . CustomInputElement , { value, oldValue, modifiers } : DirectiveBinding , vnode : VNode ) => {
0 commit comments