@@ -41,17 +41,19 @@ export function init(id, invoke) {
4141 if ( duration > 0 ) {
4242 ac . debounce = true
4343 EventHandler . on ( input , 'keydown' , debounce ( e => {
44- handlerKeydown ( ac , e ) ;
44+ handlerKeydown ( e ) ;
4545 } , duration , e => {
4646 return [ 'ArrowUp' , 'ArrowDown' , 'Escape' , 'Enter' , 'NumpadEnter' ] . indexOf ( e . key ) > - 1
4747 } ) )
4848 }
4949 else {
5050 EventHandler . on ( input , 'keydown' , e => {
51- handlerKeydown ( ac , e ) ;
51+ handlerKeydown ( e ) ;
5252 } )
5353 }
5454
55+ EventHandler . on ( input , 'keyup' , e => handlerKeyup ( ac , e ) ) ;
56+
5557 ac . triggerBlur = ( ) => {
5658 el . classList . remove ( 'show' ) ;
5759 const triggerBlur = input . getAttribute ( 'data-bb-blur' ) === 'true' ;
@@ -117,7 +119,7 @@ export function init(id, invoke) {
117119 } ) ;
118120}
119121
120- const handlerKeydown = ( ac , e ) => {
122+ const handlerKeyup = ( ac , e ) => {
121123 const key = e . key ;
122124 const { el, input, invoke, menu } = ac ;
123125 if ( key === 'Enter' || key === 'NumpadEnter' ) {
@@ -162,6 +164,9 @@ const handlerKeydown = (ac, e) => {
162164 invoke . invokeMethodAsync ( 'TriggerDeleteCallback' , input . value ) ;
163165 }
164166 }
167+ }
168+
169+ const handlerKeydown = e => {
165170 if ( e . key === 'Tab' ) {
166171 ac . triggerBlur ( ) ;
167172 }
@@ -193,6 +198,7 @@ export function dispose(id) {
193198 }
194199 EventHandler . off ( input , 'change' ) ;
195200 EventHandler . off ( input , 'keydown' ) ;
201+ EventHandler . off ( input , 'keyup' ) ;
196202 EventHandler . off ( menu , 'click' ) ;
197203 Input . dispose ( input ) ;
198204
0 commit comments