0

DateBox を使用して、DateBox.getTextBox() に valueChangeHandler を追加しようとしました。FF、Chrome では正常に動作しますが、IE9 では動作しません。テキストボックスの値が変更されても、イベントは発生しません。

IE9 で TextBox.addValueChangeHandler() を使用しようとしましたが、期待どおりに動作します。問題は、DateBox.getTextBox().addValueChangeHandler() を IE9 で動作させる方法です。

誰でもこのバグを確認できますか? それを修正するためのアイデアはありますか?

テストする小さなコード:

 DateBox dateBox = new DateBox();
 RootLayoutPanel.get().add(dateBox);
 dateBox.getTextBox().addValueChangeHandler(new ValueChangeHandler<String>() {
   @Override
   public void onValueChange(ValueChangeEvent<String> event) {
      Window.alert("event fire"); 
  }
});

ありがとう。

4

2 に答える 2

0

これを試して :

    transactionDate.addValueChangeHandler(new ValueChangeHandler<Date>() {
    public void onValueChange(ValueChangeEvent<Date> event) {
        Window.alert(transactionDate.getValue().toString());
    }
});
于 2013-03-31T17:07:31.580 に答える
0

これは既知のバグで、GWT 2.6 で修正される予定です。

その間、次の回避策を使用できます。

dateBox.addValueChangeHandler(new ValueChangeHandler<Date>() {
    Date lastDate = null;
    @Override
    public void onValueChange(ValueChangeEvent<Date> arg0) {
    Date newDate = dateBox.getValue();
    newDate.setHours(0);
    newDate.setMinutes(0);
    newDate.setSeconds(0);

    if (!newDate.equals(lastDate))
    {
        lastDate = newDate;
        doSomething();
    }
}});

https://code.google.com/p/google-web-toolkit/issues/detail?id=4785

于 2013-10-21T21:23:24.687 に答える