我想禁用/启用组合(flextable)中包含的许多小部件(如超链接、按钮等)上的用户交互(更具体地说是鼠标单击)
有多个单击处理程序,我不想根据模式(启用/禁用交互)删除和添加侦听器
任何想法都会被应用...
你忘了提到 GWT 的版本。在 GWT 2.0 中,您可以使用此代码片段或类似的东西。此功能允许您在将事件移交给目标小部件之前取消它们。
Event.addNativePreviewHandler(new Event.NativePreviewHandler() { 公共无效 onPreviewNativeEvent(NativePreviewEvent pEvent){ 最终元素目标 = pEvent.getNativeEvent().getEventTarget().cast(); // 阻止所有针对组合子节点的事件。 如果(DOM.isOrHasChild(getElement(),目标)){ pEvent.cancel(); } } });
google-web-toolkit-incubator 中有一个GlassPanel 组件。我几乎可以肯定它可以满足您的需求。无论哪种方式,使用其中一个来覆盖禁用的组件都是一个好主意。