@@ -151,15 +151,15 @@ class Cuprite {
151
151
// call the following functions in order, if one returns false (preventDefault),
152
152
// stop the call chain
153
153
[
154
- ( ) => this . keyupdowned ( node , "keydown" , keyCode ) ,
154
+ ( ) => this . keyupdowned ( node , "keydown" , char , keyCode ) ,
155
155
( ) => this . keypressed ( node , false , false , false , false , char . charCodeAt ( 0 ) , char . charCodeAt ( 0 ) ) ,
156
156
( ) => {
157
157
this . setValue ( node , node . value + char )
158
158
this . input ( node )
159
159
}
160
160
] . some ( fn => fn ( ) )
161
161
162
- this . keyupdowned ( node , "keyup" , keyCode ) ;
162
+ this . keyupdowned ( node , "keyup" , char , keyCode ) ;
163
163
}
164
164
}
165
165
@@ -187,27 +187,34 @@ class Cuprite {
187
187
/**
188
188
* @return {boolean } false when an event handler called preventDefault()
189
189
*/
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
+ ) ;
195
199
return ! node . dispatchEvent ( event ) ;
196
200
}
197
201
198
202
/**
199
203
* @return {boolean } false when an event handler called preventDefault()
200
204
*/
201
205
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
+ ) ;
211
218
return ! node . dispatchEvent ( event ) ;
212
219
}
213
220
0 commit comments