0

我有一个按钮,当您单击它时会显示一个对话框。

但是,如果您单击按钮,它会显示对话框,同时它将关闭然后再次打开。

似乎 DialogBox 的 closeEvent 在按钮上的 clickEvent 之前被抛出。因此,如果您检查 dialogBox.isShowing() 它将再次打开。因为当显示框的clickEvent被抛出时对话框关闭。

我的想法是捕获 onClick 事件并将其丢弃,但我不知道该怎么做。

有人知道解决此问题的方法吗?

4

2 回答 2

1

您可以创建一个变量来保存对话框的状态。

if(myDialogOpen==false)
{
    openDialog();
}

或者您可以将对话框作为变量保存在您正在使用的类中。

DialogBox myDialog;
if(myDialog==null)
{
    openDialog()
}

无论哪种方式,您都必须在打开或关闭对话框时重置变量。本质上,如果对话框已经打开,它什么也不做。

这些是一些可能的想法,也许如果你添加一些你到目前为止所做的代码,我可以给你一个更好的答案。

于 2013-03-13T08:11:44.230 回答
1

询问 event.preventDefault() ??

您可以在button 的单击处理程序中捕获事件。

于 2013-03-13T08:54:03.250 回答