我正在尝试使用dijit/Dialog
在我的页面上设置多个对话框。我希望对话框是非模态的,所以我使用this question作为指导来摆脱背景底层。
然而,当我使用DropDownButton
切换窗口时,我会发现奇怪的行为。当一个对话框显示一切正常时。当两个对话框都显示时,下拉按钮会在点击时闪烁显示/隐藏,而不是隐藏
Here is the JSFiddle。重现......
“我”现在会闪烁。有时,如果你点击“B”,两个对话框都显示它会自行修复。如果两个对话框都已关闭,则问题将得到解决。
我认为它与对话框的z-index有关,但是DropDownButton似乎总是具有比底衬和对话本身更高的z-index。
另一种选择是制作我自己的FloatingPane
,但我想知道这是否可行。
答案 0 :(得分:2)
可能会有点晚,但可以帮助其他人。
这里的问题是Dojo对话会尽最大努力让自己保持专注,当他们失去焦点时,他们会再次呼叫.focus()
(See dijit/Dialog.js)。
据我所知,没有设置可以禁用它。但是,您始终可以覆盖非模态对话框的.focus()
函数,而不执行任何操作。如,
var dialog = registry.byId("myDialog");
dialog.focus = function() { };
dialog.show();