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');
。