2010-10-25 5 views
5

Ich möchte Ereignisse behandeln, wenn Benutzer etwas Text in TextBox einfügt. Welches Ereignis wird in dieser Situation ausgelöst? Ich habe versucht ValueChange und Change Handler, aber sie haben nicht funktioniert.GWT Einfügen von Ereignis

Antwort

8

This könnte Ihnen helfen. Beschreibt eine Problemumgehung für den Zugriff auf das Onpaste-Ereignis. Kurz In:

  • Unterklasse TextBox

  • sinken die onpaste Ereignis im Konstruktor

    sinkEvents(Event.ONPASTE);
  • Überschreibung onBrowserEvent(Event event)

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

Link ist tot. Ich nehme an, es sollte http://groups.google.com/group/google-web-toolkit/browse_thread/thread/5d9a6fbe9e2bacf2 sein. – alexandroid

+0

Danke, ich habe den Link aktualisiert. – z00bs

+0

Ich weiß, das ist jetzt alt. Ich kommentiere das, weil ich eine Situation treffe, nicht sirous, aber ein gewisses Bewusstsein wert. Meine Box ist so eingestellt, dass sie numerisch ist, also füge ich onclaste, onblur und die Senke für onpaste hinzu. Das Problem ist, dass beim Klicken auf Einfügen die Klick- und Blur-Ereignisse nicht von den hinzugefügten Handlern ausgelöst werden, sondern im onBrowser-Ereignis ausgelöst werden. Warum ist das? –

6

GWT hat noch Unterstützung für Schnitt haben, kopieren & Paste: http://code.google.com/p/google-web-toolkit/issues/detail?id=4030

Editiert: Eine weitere Option ist JSNI zu verwenden. Zum Beispiel fügen Sie diese zu Ihrer GWT Klasse:

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!"); 
}