GWT粘贴事件

时间:2010-10-25 19:29:44

标签: gwt copy-paste

我想在用户在TextBox中粘贴一些文字时处理事件。在这种情况下会发生哪些事件?我尝试了ValueChangeChange处理程序,但它们没有用。

3 个答案:

答案 0 :(得分:8)

This可能会对您有所帮助。描述了挂钩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;
            }
        }
    }

答案 1 :(得分:7)

GWT还没有支持cut,copy&粘贴: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!");
}

答案 2 :(得分:1)

**(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;
        }
    }
}