如何在GWT FormTextArea上检测copy pate事件?

时间:2016-02-01 15:51:24

标签: gwt event-handling

我需要在用户COPY时启用“保存”按钮 - 使用鼠标在GWT中的FormTextArea中点击某些内容。我已经尝试过使用KeyUpHandler,ValueChangeHandler,ChangeHandler但是没有按预期工作。

我已经经历过了 Paste event on GWT

2 个答案:

答案 0 :(得分:3)

要从键盘ctrl + v或上下文菜单中捕获粘贴事件,您必须覆盖窗口小部件中的onBrowserEvent方法并捕获Event.ONPASTE

@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    switch (event.getTypeInt()) {
    case Event.ONPASTE:
        //do stuff
        break;

    default:
        break;
    }

}

答案 1 :(得分:0)

我想您希望在textarea不为空时启用保存按钮。

您可以使用KeyDownHandler

textArea.addKeyDownHandler(new KeyDownHandler() {

    @Override
    public void onKeyDown(KeyDownEvent event) {
        if(textArea.getValue().isEmpty){
           //disable
        } else {
           //enable
        }
    }
});

当然,如果用户通过ContexMenu粘贴文字,您将不会收到通知,但您无法为此做任何事情。 您也可以使用ValueChangeHandler<String>但只有在textarea失去焦点时才会触发。

希望它有所帮助...