在我们的应用程序中,我们正在解决对话层次结构的问题。考虑以下示例:用户打开一个对话框(对象列表),然后从第一个对话框中打开另一个对话框(例如详细信息),然后打开下一个对话框(例如对话框中的日期选择器)。
当用户点击对话框边界外会发生什么?
- 是否应该关闭并取消最顶层的对话框?
- 是否应该取消整个对话框堆栈?
- 或者,如果点击目标打开一个完全不同的对话框堆栈(应用程序中的项目列表),两个堆栈是否应该同时打开?
这些都是非常真实的用例,虽然我看到许多小型库在做绝对定位的覆盖(如 jQuery UI),但我没有看到任何可以帮助管理更复杂的对话框工作流的东西。目前我们还没有系统的方法来解决这些问题,我们主要是根据具体情况进行判断,这很容易出错。请提出一个解决方案、一个库或至少一些代码/项目来获得灵感。