2
我想处理粘贴事件,并且在GWT中捕获TextBox
的粘贴文本。当我检查了TextBox
中没有用于粘贴事件的标准处理程序。在GWT文本框中捕获粘贴的文本
我想处理粘贴事件,并且在GWT中捕获TextBox
的粘贴文本。当我检查了TextBox
中没有用于粘贴事件的标准处理程序。在GWT文本框中捕获粘贴的文本
我发现可以用一个小的JavaScript本机代码做补充说:
public class PasteAwareTextBox extends TextBox {
public PasteAwareTextBox() {
super();
sinkEvents(Event.ONPASTE);
}
@Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
switch (event.getTypeInt()) {
case Event.ONPASTE:
onPasted(getClipboardData(event));
break;
}
}
private void onPasted(String clipboardData) {
System.out.println("Pasted:" + clipboardData);
}
private static native String getClipboardData(Event event) /*-{
return event.clipboardData.getData('text/plain');
}-*/;
}
1)认购粘贴事件。
2)通过JSNI调用event.clipboardData.getData('text/plain');
。