7

我想要做的是在 GWT 中触发回车按键事件。这是我的钥匙处理程序:

    itemBox.addKeyDownHandler(new KeyDownHandler() { 
          public void onKeyDown(KeyDownEvent event) {
                 if(event.getNativeKeyCode == KeyCodes.KEY_ENTER) {
                       // do something
                 }

然后稍后我想触发一个输入按键事件,但我似乎无法弄清楚我是如何做到这一点的。我想做一些类似 KeyDownEvent.setNativeKeyCode(KEY_ENTER) 的事情。

     textBox.fireEvent(new KeyDownEvent(null));

可以设置这些参数吗?

4

1 回答 1

10

您可以使用 DomEvent.fireNativeEvent 而不是 textBox.fireEvent 来触发事件。

这是一个如何执行此操作的工作示例:

final TextBox tb = new TextBox();
tb.addKeyDownHandler(new KeyDownHandler() {

    @Override
    public void onKeyDown(KeyDownEvent event) {
     if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                 Window.alert("enter!");
           }
    }
});

Button b = new Button("keyevent");
b.addClickHandler(new ClickHandler() {

    @Override
    public void onClick(ClickEvent event) {
    DomEvent.fireNativeEvent(Document.get().createKeyDownEvent(false, false, false, false, KeyCodes.KEY_ENTER), tb);
    }
});

RootPanel.get().add(tb);
RootPanel.get().add(b);
于 2012-10-23T08:02:59.933 回答