GWT- DateBox.getTextBox(). AddValueChangeHandler() не запускает событие в IE
Я попытался использовать DateBox и добавить valueChangeHandler в DateBox.getTextBox(). Он отлично работает в FF, Chrome, но не IE9. Событие не запускается, даже если значение в текстовом поле изменяется.
Я пытался просто использовать TextBox.addValueChangeHandler() в IE9, он работает как положено. Так что вопрос в том, как я могу заставить 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");
}
});
Благодарю.
2 ответа
Попробуй это:
transactionDate.addValueChangeHandler(new ValueChangeHandler<Date>() {
public void onValueChange(ValueChangeEvent<Date> event) {
Window.alert(transactionDate.getValue().toString());
}
});
Это известная ошибка, она будет исправлена в 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