2010-10-25 115 views
5

我想在用戶粘貼TextBox中的某些文本時處理事件。在這種情況下哪個事件被解僱?我試過ValueChangeChange處理程序,但它們不起作用。GWT粘貼事件

回答

8

This可能會對您有所幫助。介紹一種解決方法來掛鉤onpaste事件。 簡而言之:

  • 子類TextBox

  • 下沉onpaste事件在構造

    sinkEvents(Event.ONPASTE);
  • 倍率onBrowserEvent(Event event)

    public void onBrowserEvent(Event event) { 
        super.onBrowserEvent(event); 
        switch (event.getTypeInt()) { 
         case Event.ONPASTE: { 
          // do something here 
          break; 
         } 
        } 
    }
+0

鏈接已死亡。我認爲它的目的是http://groups.google.com/group/google-web-toolkit/browse_thread/thread/5d9a6fbe9e2bacf2 – alexandroid 2011-11-08 02:50:59

+0

謝謝,我更新了鏈接。 – z00bs 2011-11-08 07:13:38

+0

我知道這是現在老了。我在評論這件事是因爲我正在遇到一種情況,不是很熱情,但值得提醒一下。我的盒子是數字的,所以我添加了onclick,onblur和onpaste的接收器。事情是,通過粘貼,點擊和模糊事件不會從我添加的處理程序中觸發,而是被onBrowser事件觸發。爲什麼是這樣? – 2012-04-24 10:52:05

6

GWT還沒有對切的支持,複製粘貼&:http://code.google.com/p/google-web-toolkit/issues/detail?id=4030

編輯: 另一種選擇是使用JSNI。例如,將此添加到您的GWT類別中:

public native void addCutHandler(Element element) 
    /*-{ 
     var temp = this; // hack to hold on to 'this' reference 
     element.oncut = function(e) { 
      [email protected]::handleCut()(); 
     } 
    }-*/; 

public void handleCut() { 
    Window.alert("Cut!"); 
}