我要禁用/許多小部件等的超鏈接,按鈕,等,這都包含在一個複合物(flextable)在GWT容器中禁用用戶交互?
有多於一個的點擊處理程序使用戶交互(鼠標點擊更多specificly),並且我不不想與刪除並根據模式增加聽衆打擾(啓用/禁用交互)
任何想法,將appriciated ...
我要禁用/許多小部件等的超鏈接,按鈕,等,這都包含在一個複合物(flextable)在GWT容器中禁用用戶交互?
有多於一個的點擊處理程序使用戶交互(鼠標點擊更多specificly),並且我不不想與刪除並根據模式增加聽衆打擾(啓用/禁用交互)
任何想法,將appriciated ...
你忘了提GWT的版本。在GWT 2.0中,你可以使用這段代碼片段或類似的東西。此功能允許您在事件移交到目標小部件之前取消事件。
Event.addNativePreviewHandler(new Event.NativePreviewHandler() { public void onPreviewNativeEvent(NativePreviewEvent pEvent) { final Element target = pEvent.getNativeEvent().getEventTarget().cast(); // block all events targetted at the children of the composite. if (DOM.isOrHasChild(getElement(), target)) { pEvent.cancel(); } } });
在GWT 1.x中有類似的東西可用(但我忘記了確切的類/方法/偵聽器,2.0真的好多了) – 2010-01-14 09:02:25
我正在使用GWT 2.0,這與我想要的非常接近,但並不完全相同。是否有我可以攔截的方法,例如Event.ONCLICK並禁用所有其他偵聽器 – 2010-01-17 02:47:46
那麼,您可以通過
pEvent.getNativeEvent();訪問實際事件,並且可以在該對象上獲取類型並查看它是否爲ClickEvent類型。 – 2010-01-18 09:11:03
在google-web-toolkit-incubator中有GlassPanel compoent。我幾乎可以肯定它能滿足你的需求。無論哪種方式,將其中一個禁用組件覆蓋一下是一個好主意。
+1我還會推薦GlassPanel。 – 2010-01-15 01:14:00
我認爲這個,但是,我更喜歡用戶無法用Firebug克服的方式:) – 2010-01-17 02:48:26
上放一個「保護屏幕」?即頂部的阻止相互作用的透明容器。只是我的2cents。 – jldupont 2010-01-14 02:08:39