2015-07-21 67 views

回答

2

我发现可以用一个小的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');