在GWT中,我想處理點擊事件,但只有當用戶點擊一天。 有一個valueChangeHandler,但當值更改時會觸發,所以當我在同一天點擊兩次時,它會觸發一次。GWT - DatePicker當天的點擊事件
其他選項是使用addHandler或addDomHandler,我可以在其中添加ClickHandler,但它始終會觸發,無論是單擊一天還是傳遞給其他月份。
這兩個選項對我來說都不起作用。 任何想法如何做到這一點?
在GWT中,我想處理點擊事件,但只有當用戶點擊一天。 有一個valueChangeHandler,但當值更改時會觸發,所以當我在同一天點擊兩次時,它會觸發一次。GWT - DatePicker當天的點擊事件
其他選項是使用addHandler或addDomHandler,我可以在其中添加ClickHandler,但它始終會觸發,無論是單擊一天還是傳遞給其他月份。
這兩個選項對我來說都不起作用。 任何想法如何做到這一點?
首先,你應該描述更多細節。我不知道你真正想做什麼。 在這裏我的建議。 (1)
(1)。使用Cookies保存當前使用用戶的信息並將過期日設置爲1天。
(2)。不要使用addNewHandler。您應該使用一個處理程序實例的全局變量並將其初始化爲NULL。起初對此,你會初始化它。這可能只創建一次,你可以檢查它是否爲NULL。例如:
private CloseHandler handler;
.......
if (handler == null) {
handler = new CloseHandler<PopupPanel>() {
public void onClose(final CloseEvent<PopupPanel> event) {
........
}
};
}
(3)。您也可以像使用簡單處理程序一樣使用簡單處理程序,如果觸發事件,則使用當前時間和唯一值(例如:登錄user.etc的序列)保存在地圖中。當再次擊中它時,你會回顧並匹配當前和以前的時間。
對您有用..
您還可以添加您DateBox.getDatePicker處理程序()和你的DateBox.getTextBox()。 您可以添加另一個處理程序爲這樣的...
dateBox.addHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Window.alert("click");
}
}, ClickEvent.getType());
上述解決方案不起作用。點擊事件選擇日期不會被解僱。 – RAS
使用addvalueChangeHandler那之後將該值設置爲別的東西。這是一種黑客攻擊,但它對我很有用。
calendarWidget.addValueChangeHandler(new ValueChangeHandler<Date>() {
@Override
public void onValueChange(ValueChangeEvent<Date> event) {
calendarWidget.setValue(new Date(0));
}
}
對不起..我說的是小部件稱爲DatePicker的(這有點像日曆),我要處理的事件,當用戶點擊它,但只有當他點擊了一天。 例如,我有這個小部件。用戶點擊一天,比我向他展示一些彈出。當他點擊小部件,但不是一天..例如,當他傳遞到下個月,我不顯示彈出。 – dzuma
哦!抱歉。現在我知道你的意思是com.google.gwt.user.datepicker.client.DateBox。 (1)。點擊或關注DateBox小部件(2)。點擊從DateBox wiget彈出的那一天。我對嗎 ? – Cataclysm
[GWT:延長DatePicker/CalendarView](http://ctasada.blogspot.com/2010/08/gwt-extend-datepickercalendarview.html)。這可能對你有用。 – Cataclysm