[英]GWT - Handle both double click and single click on the same element
我有一個帶有onClick處理程序的自定義窗口小部件。 問題是當用戶雙擊元素時,第二次單擊也會觸發重復調用。 試圖通過使用onDoubleClick處理程序來避免這種情況,雙擊調用確實進入該處理程序,但僅在執行onClick之后進行 。 因此仍然發生重復的呼叫。
已經看到在Javascript中使用計時器來避免重復請求的解決方案。 GWT中是否可能有類似的東西?
還是有其他更好的方法來避免雙擊GWT中的元素重復請求?
只要該小部件正在處理它,就將其替換為“正在加載微調器動畫圖像”。 准備就緒后,將其替換回小部件。
由於圖片不包含clickhandler,因此不會收到第二次點擊。
我通過以毫秒為單位的當前時間來防止雙擊,並使用此方法的最后處理進行檢查。 如果在第一次點擊和第二次點擊之間不到一秒鍾,則會阻止第二次點擊。
long lastClick = 0;
if (lastClick < System.currentTimeMillis() - 1000)
{
// do logic
}
lastClick = System.currentTimeMillis();
上面鏈接中給出的答案將有助於處理雙擊按鈕 。
但是,如果它是一個自定義的widget和.setEnabled(假)不起作用,我們可以有一個靜態布爾變量,條件檢查,如果其為假 ,則允許並點擊一次時再設置回成功虛假其設置為true。 如果雙擊,則布爾值將為true ,並且if條件將失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.