2010-05-11 14 views
5

Panel üzerinde bir TextBox var ve 'TextBox' değeri değiştiğinde haberdar olmak istiyorum.GWT TextBox - Düzenleme sırasında değer değişikliklerinin bildirilmesi

Aşağıdaki olay işleyicileri denedi:

  • ChangeHandler
  • ValueChangeHandler
  • KeyPresshandler

Benim sorundur odak kontrollerini bırakır ValueChangeHandler ve ChangeHandler sadece yangın söyledi. KeyPressHandler, doğru bir şekilde tetikler, ancak TextBox'un kendisi olayı görmeden önce, olay işleyicimden getText() aramasının eski bir değer gördüğünü gösterir.

tam KeyPressHandler gibi çalışacak ama TextBox olayı gördü sonra ateş bir olay var mı?

DÜZENLEME: Bu davranış KeyUpHandler deneyin

+0

Linux/Firefox'ta görülen aynı davranış 3.6.8. –

+0

İlgili [GWT TextBox Anlık değer değişikliği işleyicisi] (http://stackoverflow.com/questions/3184648/instant-value-change-handler-on-a-gwt-textbox) – Jla

cevap

7

Windows XP üzerinde Chrome ve IE8 görülür. (Örneğin ios 8 klavye olarak örneğin) bir sanal klavye ile eklenen fare veya metin önerileri yoluyla kopya/macun kıvamında dahil TÜM değişiklikleri yakalar

+0

Kahretsin, beni alt;) –

+0

Saatlerce bunu arayan bir "arkadaşım" var;) –

+2

Kullanıcı kopyalayıp yapıştığında bu işe yaramaz. – Jla

1

Çok sağlam (gerçi değil çok şık) çözümü odakta ve bir zamanlayıcı başlamaktır metin kutusunun değerini uygun bir zaman aralığında kontrol edin. Zamanlayıcı, bulanıklıkta durdurulur (bulanıklaştırmayı son kontrol etmeyi unutmayın).

Tüm metin kutusu değişikliklerini yakalamak için "işleyici tabanlı" bir çözümden haberdar değilim.