如何派发具有特定 KeyCode 的 KeyboardEvent
How to dispatch an KeyboardEvent with specific KeyCode
我尝试为 esc 键发送一个键盘事件(用于测试)
这是我到目前为止得到的:
KeyboardEvent keyEvent = new KeyboardEvent('keypress');
window.onKeyPress.listen((KeyboardEvent event){
KeyEvent keyEvent = new KeyEvent.wrap(event);
if(keyEvent.keyCode == KeyCode.ESC){
//do stuff
}
});
window.dispatchEvent(keyEvent);
这按预期工作。 onKeyPress 侦听器触发器。
但是我没有找到如何为我的 KeyBoardEvent 设置 KeyCode?
无法使用 dispatchEvent
。尝试:
import 'dart:async';
import 'dart:html';
void main() {
Stream stream = KeyEvent.keyPressEvent.forTarget(document.body);
stream.listen((KeyEvent keyEvent){
if(keyEvent.keyCode == KeyCode.ESC) {
// do stuff
}
});
stream.add(new KeyEvent('keypress', keyCode: KeyCode.ESC));
}
如https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:html.KeyEvent
所述
我尝试为 esc 键发送一个键盘事件(用于测试) 这是我到目前为止得到的:
KeyboardEvent keyEvent = new KeyboardEvent('keypress');
window.onKeyPress.listen((KeyboardEvent event){
KeyEvent keyEvent = new KeyEvent.wrap(event);
if(keyEvent.keyCode == KeyCode.ESC){
//do stuff
}
});
window.dispatchEvent(keyEvent);
这按预期工作。 onKeyPress 侦听器触发器。
但是我没有找到如何为我的 KeyBoardEvent 设置 KeyCode?
无法使用 dispatchEvent
。尝试:
import 'dart:async';
import 'dart:html';
void main() {
Stream stream = KeyEvent.keyPressEvent.forTarget(document.body);
stream.listen((KeyEvent keyEvent){
if(keyEvent.keyCode == KeyCode.ESC) {
// do stuff
}
});
stream.add(new KeyEvent('keypress', keyCode: KeyCode.ESC));
}
如https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:html.KeyEvent
所述