如何在GWT文本框中检索PASTE(复制粘贴)事件的值?

| SO成员大家好, 我要阻止用户复制粘贴到我的TextBox中的值,并且仅当这些值不符合特定条件时才这样做。 例如,我创建了一个DigitsOnlyTextBox,它将用于电话号码。 我已经做到了,因此只能在框中键入“ 0”个字符,并且用户不能使用来将值复制粘贴到其中:
this.sinkEvents(Event.ONPASTE);
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);

    // Permet d\'empêcher le copier-coller, donc d\'entrer des caractères non-numériques

    if (event.getTypeInt() == Event.ONPASTE) {
        event.stopPropagation();
        event.preventDefault();
    }
}
但是我想验证复制粘贴的字符串是否为“仅数字”,如果是,则让该事件发生(因此添加文本)。 tl; dr: 看标题 感谢您的时间。 真诚的     
已邀请:
        根据MDC:   当前没有仅DOM方式来获取要粘贴的文本 IMO,最好让“粘贴”发生,然后“重写”文本框的值以去除非数字(实际上,我什至宁愿只在onValueChange上做)或简单地标记如果该框的值不是仅数字的,则该框为无效(例如IntegerBox所做的操作)。     
        只需将旧值保存在局部变量中,然后在执行逻辑后立即保存,如果该值不正确,则保留旧文本。
@Override
public void onBrowserEvent(Event event)
{
    super.onBrowserEvent(event);
    final String oldValue = getValue();
    switch (event.getTypeInt())
    {
        case Event.ONPASTE:
            Scheduler.get().scheduleDeferred(new ScheduledCommand()
            {

                @Override
                public void execute()
                {
                    if(<not ok>)
                       setValue(oldValue);
                }

            });
            break;
    }
}
    

要回复问题请先登录注册