【问题标题】:How to dispatch an KeyboardEvent with specific KeyCode如何使用特定的 KeyCode 调度 KeyboardEvent
【发布时间】:2015-06-25 19:18:04
【问题描述】:

我尝试为 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?

【问题讨论】:

标签: events keyboard dart


【解决方案1】:

不能使用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中所述

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 2014-04-29
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多