GWT粘贴事件

GWT粘贴事件,gwt,copy-paste,Gwt,Copy Paste,我想处理用户在TextBox中粘贴某些文本时发生的事件。在这种情况下会触发哪个事件?我尝试了ValueChange和Change处理程序,但它们不起作用 GWT尚不支持剪切、复制和粘贴: 编辑: 另一种选择是使用JSNI。例如,将其添加到GWT类: public native void addCutHandler(Element element) /*-{ var temp = this; // hack to hold on to 'this' reference

我想处理用户在
TextBox
中粘贴某些文本时发生的事件。在这种情况下会触发哪个事件?我尝试了
ValueChange
Change
处理程序,但它们不起作用

GWT尚不支持剪切、复制和粘贴:

编辑: 另一种选择是使用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!");
}
也许对你有帮助。描述挂钩到onpaste事件的解决方法。 简言之:

  • 子类
    TextBox

  • 在构造函数中接收onpaste事件

    sinkEvents(Event.ONPASTE);
  • 覆盖onBrowserEvent(事件事件)


链接已断开。我想这是命中注定的我知道这已经过时了。我之所以评论这一点,是因为我遇到了一种情况,不是sirous,但值得注意。我的框被设置为数字框,所以我添加了onclick、onblur和onpaste的接收器。问题是,使用on-paste时,单击和模糊事件不是从我添加的处理程序中激发的,而是在onBrowser事件中激发的。这是为什么?我指的是按键,而不是点击事件您好,z00bs,您能给出总体代码吗?它是如何组合在一起的。我的意思是,我们在哪里附加
onBrowser
sinkEvent
方法?
sinkEvent
在小部件的构造函数中被调用(如我所写),而
onBrowserEvent()
方法不需要“附加”就可以覆盖它来处理新的沉没事件。如果触发任何沉没事件,GWT将调用它。我将此答案与以下内容结合起来,以在粘贴后获取文本框内容:。我还想补充一点,我更喜欢这种方法,因为对我来说,它似乎比扩展类更简单。
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    switch (event.getTypeInt()) {
        case Event.ONPASTE: {
            // do something here
            break;
        }
    }
}
**(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;
        }
    }
}