我有一个按钮,当您单击它时会显示一个对话框。
但是,如果您单击按钮,它会显示对话框,同时它将关闭然后再次打开。
似乎 DialogBox 的 closeEvent 在按钮上的 clickEvent 之前被抛出。因此,如果您检查 dialogBox.isShowing() 它将再次打开。因为当显示框的clickEvent被抛出时对话框关闭。
我的想法是捕获 onClick 事件并将其丢弃,但我不知道该怎么做。
有人知道解决此问题的方法吗?
您可以创建一个变量来保存对话框的状态。
if(myDialogOpen==false)
{
openDialog();
}
或者您可以将对话框作为变量保存在您正在使用的类中。
DialogBox myDialog;
if(myDialog==null)
{
openDialog()
}
无论哪种方式,您都必须在打开或关闭对话框时重置变量。本质上,如果对话框已经打开,它什么也不做。
这些是一些可能的想法,也许如果你添加一些你到目前为止所做的代码,我可以给你一个更好的答案。
询问 event.preventDefault() ??
您可以在button 的单击处理程序中捕获事件。