Java GWT-DateBox.getTextBox().addValueChangeHandler()在IE中不触发事件

Java GWT-DateBox.getTextBox().addValueChangeHandler()在IE中不触发事件,java,gwt,textbox,internet-explorer-9,datebox,Java,Gwt,Textbox,Internet Explorer 9,Datebox,我尝试使用DateBox并向DateBox.getTextBox()添加valueChangeHandler。 它在FF、Chrome中运行良好,但在IE9中不起作用。即使文本框中的值已更改,也不会激发该事件 我试着在IE9中使用TextBox.addValueChangeHandler(),它可以正常工作。 所以问题是如何使DateBox.getTextBox().addValueChangeHandler()在IE9中工作 有人能确认这个错误吗?有什么办法解决它吗 要测试的一小段代码: D

我尝试使用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"); 
  }
});
DateBox DateBox=new DateBox();
RootLayoutPanel.get().add(日期框);
dateBox.getTextBox().addValueChangeHandler(新的ValueChangeHandler()){
@凌驾
ValueChange上的公共作废(ValueChangeEvent事件){
窗口警报(“事件火灾”);
}
});
谢谢。

试试这个:

    transactionDate.addValueChangeHandler(new ValueChangeHandler<Date>() {
    public void onValueChange(ValueChangeEvent<Date> event) {
        Window.alert(transactionDate.getValue().toString());
    }
});
transactionDate.addValueChangeHandler(新的ValueChangeHandler(){
ValueChange上的公共作废(ValueChangeEvent事件){
警报(transactionDate.getValue().toString());
}
});

这是一个已知的bug,将在GWT2.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();
    }
}});
dateBox.addValueChangeHandler(新的ValueChangeHandler(){
Date lastDate=null;
@凌驾
ValueChange上的公共无效(ValueChangeEvent arg0){
Date newDate=dateBox.getValue();
newDate.setHours(0);
newDate.setMinutes(0);
newDate.setSeconds(0);
如果(!newDate.equals(lastDate))
{
lastDate=newDate;
doSomething();
}
}});

这不适用于GWT 2.6.1。事件不会触发。