我有一個adobe flex數據網格,在其中一列中有一個簡單的自定義標籤itemrenderer。點擊itemrenderer會觸發一個cairngorm事件,這會導致服務調用正在進行,並且來自服務調用的數據將填充TitleWindow。Adobe Flex預防雙擊
儘管我已將doubleClickedEnabled屬性設置爲false,但仍有可能雙擊項目渲染器,導致進行兩個服務調用,並顯示兩個TitleWindows。在其他情況下,三重點擊似乎也會觸發不良結果。
有什麼方法可以防止這種行爲?
我真的很喜歡這種方法,因爲我可以將它擴展到所有服務調用。 我創建了一個可綁定的ServiceModel單例,每次進行服務調用時都會存儲lastTime,方法和服務。 然後,我修改了baseDelegate以檢查當前服務調用的ServiceModel參數(lastTime,method,service) - 如果它的方法和服務名稱相同,且時間小於500ms,則不處理它。 你是否對此有任何疑問? – JonoB 2010-05-11 22:32:00
@JonoB,如果有一個合法的理由在一個循環中調用同一個服務方法,這可能是一個問題。將這與用戶有合理理由在250ms內多次點擊一個鏈接相對比,看起來在事件處理程序中這樣做會更好。 – 2010-05-12 02:43:01
在我的應用程序中沒有發生過在250或500毫秒內從同一客戶端進行相同服務調用的情況。如果有,那麼它可能是一個錯誤!循環中肯定沒有服務調用。我在我的應用程序的很多地方也有這些單擊鏈接,並且不會真的想去爲它們中的每個創建一個事件處理程序。 – JonoB 2010-05-12 08:17:18