gpt4 book ai didi

javascript - Dojo 多个带有下拉按钮的非模式对话框

转载 作者:行者123 更新时间:2023-12-02 17:51:50 26 4
gpt4 key购买 nike

我正在尝试使用 dijit/Dialog 在我的页面上显示多个对话框。我希望对话框是非模式的,所以我使用 this question作为去除背景底衬的指南。

但是,当我使用 DropDownButton 来切换窗口时,我遇到了奇怪的行为。当一个对话框显示一切正常时。当两个对话框都显示时,下拉按钮将在单击时闪烁显示/隐藏,而不是仅仅隐藏

Here is the JSFiddle 。重现...

  1. 在“I”下显示两个对话框
  2. 再次点击“我”

“我”现在会闪烁。有时,如果您在两个对话框都显示的情况下单击“B”,它会自行修复。如果两个对话框都关闭,问题将得到解决。

我认为这与对话框的 z 索引有关,但 DropDownButton 似乎始终具有比底层和对话框本身更高的 z 索引。

另一个选择是制作我自己的FloatingPane,但我想看看这是否可行。

最佳答案

可能有点晚了,但可以帮助其他人。

这里的问题是,Dojo 对话框会尽力保持焦点,以至于当它们失去焦点时,它们会再次调用自己的 .focus() ( See dijit/Dialog.js )。

据我所知,没有设置可以禁用此功能。但是,您始终可以覆盖非模式对话框的 .focus() 函数,而不执行任何操作。例如,

var dialog = registry.byId("myDialog");
dialog.focus = function() { };
dialog.show();

关于javascript - Dojo 多个带有下拉按钮的非模式对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21287658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com