GWT вставка события - PullRequest
       25

GWT вставка события

7 голосов
/ 25 октября 2010

Я хочу обрабатывать события, когда пользователь вставляет некоторый текст в TextBox. Какое событие происходит в этой ситуации? Я пробовал обработчики ValueChange и Change, но они не работали.

Ответы [ 3 ]

8 голосов
/ 26 октября 2010

Это может вам помочь. Описывает обходной путь для подключения к событию onpaste. Короче говоря:

  • подкласс TextBox

  • утопить событие onpaste в конструкторе

    sinkEvents(Event.ONPASTE);
  • переопределить onBrowserEvent(Event event)

    public void onBrowserEvent(Event event) {
        super.onBrowserEvent(event);
        switch (event.getTypeInt()) {
            case Event.ONPASTE: {
                // do something here
                break;
            }
        }
    }
7 голосов
/ 25 октября 2010

GWT еще не поддерживает вырезание, копирование и вставку: http://code.google.com/p/google-web-toolkit/issues/detail?id=4030

Отредактировано: Другой вариант - использовать JSNI. Например, добавьте это в ваш класс GWT:

public native void addCutHandler(Element element)
    /*-{
        var temp = this;  // hack to hold on to 'this' reference
        element.oncut = function(e) {
            temp.@org.package.YourClass::handleCut()();
        }
    }-*/;

public void handleCut() {
    Window.alert("Cut!");
}
1 голос
/ 28 марта 2019
**(Write In the Constructor)**

sinkEvents( Event.ONPASTE );   

**(After that write below code)**

public void onBrowserEvent( Event event )
{
    super.onBrowserEvent( event );
    switch ( event.getTypeInt() )
    {
        case Event.ONPASTE :
        {
             event.stopPropagation();
             event.preventDefault();
             break;
        }
    }
}
...