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(事件事件)
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;
}
}
}