@@ -151,15 +151,15 @@ class Cuprite {
151151 // call the following functions in order, if one returns false (preventDefault),
152152 // stop the call chain
153153 [
154- ( ) => this . keyupdowned ( node , "keydown" , keyCode ) ,
154+ ( ) => this . keyupdowned ( node , "keydown" , char , keyCode ) ,
155155 ( ) => this . keypressed ( node , false , false , false , false , char . charCodeAt ( 0 ) , char . charCodeAt ( 0 ) ) ,
156156 ( ) => {
157157 this . setValue ( node , node . value + char )
158158 this . input ( node )
159159 }
160160 ] . some ( fn => fn ( ) )
161161
162- this . keyupdowned ( node , "keyup" , keyCode ) ;
162+ this . keyupdowned ( node , "keyup" , char , keyCode ) ;
163163 }
164164 }
165165
@@ -187,27 +187,34 @@ class Cuprite {
187187 /**
188188 * @return {boolean } false when an event handler called preventDefault()
189189 */
190- keyupdowned ( node , eventName , keyCode ) {
191- let event = document . createEvent ( "UIEvents" ) ;
192- event . initEvent ( eventName , true , true ) ;
193- event . keyCode = keyCode ;
194- event . charCode = 0 ;
190+ keyupdowned ( node , eventName , char , keyCode ) {
191+ let event = new KeyboardEvent (
192+ eventName , {
193+ bubbles : true ,
194+ cancelable : true ,
195+ key : char ,
196+ keyCode : keyCode
197+ }
198+ ) ;
195199 return ! node . dispatchEvent ( event ) ;
196200 }
197201
198202 /**
199203 * @return {boolean } false when an event handler called preventDefault()
200204 */
201205 keypressed ( node , altKey , ctrlKey , shiftKey , metaKey , keyCode , charCode ) {
202- event = document . createEvent ( "UIEvents" ) ;
203- event . initEvent ( "keypress" , true , true ) ;
204- event . window = window ;
205- event . altKey = altKey ;
206- event . ctrlKey = ctrlKey ;
207- event . shiftKey = shiftKey ;
208- event . metaKey = metaKey ;
209- event . keyCode = keyCode ;
210- event . charCode = charCode ;
206+ let event = new KeyboardEvent (
207+ "keypress" , {
208+ bubbles : true ,
209+ cancelable : true ,
210+ altKey : altKey ,
211+ ctrlKey : ctrlKey ,
212+ shiftKey : shiftKey ,
213+ metaKey : metaKey ,
214+ keyCode : keyCode ,
215+ charCode : charCode
216+ }
217+ ) ;
211218 return ! node . dispatchEvent ( event ) ;
212219 }
213220
0 commit comments