如何检测 GET Form TextArea 上的复制粘贴事件?

How to detect copy pate event on GWT FormTextArea?

我需要在用户复制时启用“保存”按钮 - 在 GWT 的 FormTextArea 中使用鼠标单击粘贴内容。我已经尝试使用 KeyUpHandler、ValueChangeHandler、ChangeHandler,但没有按预期工作。

我已经通过了 Paste event on GWT

我想你想在 textarea 不为空时启用 保存 按钮。

您可以使用 KeyDownHandler

textArea.addKeyDownHandler(new KeyDownHandler() {

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

当然,如果用户通过 ContexMenu 粘贴文本,您将不会收到通知,但您对此无能为力。 您也可以使用 ValueChangeHandler<String>,但它只会在您的 textarea 失去焦点时触发。

希望对您有所帮助...

要从键盘 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;
    }

}