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