如何在开放状态下阻止gwt DisclosurePanel?
我的意思是,如果用户多次点击标题,我该如何阻止此DisclosurePanel关闭?
(我的标题是一个textBox,我希望用户输入一个文本,如果用户取消对textBox的重点并通过点击它重新聚焦,面板应保持打开.DisclosurePanel内容有一个"取消"按钮,关闭面板)
非常感谢你.
我在2个第一个答案之后编辑我的问题:我想避免在关闭后重新打开DisclosurePanel以避免闪烁效果.我实际上想阻止DisclosurePanel关闭.也许sinkEvents可以帮助我...如果是这样,怎么样?谢谢.
一个NativePreviewHandler接收他们被解雇了他们的处理程序之前的所有事件.通过在第一次打开revealPanel时注册nativePreviewHandler,您可以取消单击事件.您可以稍后决定删除此处理程序preventClose.removeHandler();
HandlerRegistration preventClose = null;
....
panel.addOpenHandler(new OpenHandler<DisclosurePanel>() {
@Override
public void onOpen(OpenEvent<DisclosurePanel> event) {
if (preventClose == null){
preventClose = Event.addNativePreviewHandler(new NativePreviewHandler() {
@Override
public void onPreviewNativeEvent(NativePreviewEvent event) {
if (event.getTypeInt()==Event.ONCLICK && event.getNativeEvent().getEventTarget() == panel.getHeader().getElement().cast())
event.cancel();
}
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1831 次 |
| 最近记录: |