Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dojo对话框不希望阻止整个页面_Dojo - Fatal编程技术网

Dojo对话框不希望阻止整个页面

Dojo对话框不希望阻止整个页面,dojo,Dojo,我在对话框中显示一个网格,没有任何问题。但问题是,dialog在后台阻塞了整个页面。有什么办法可以避免吗?i、 e.一旦显示对话框,用户仍然可以访问页面元素,如选项卡等。可以使用CSS。当您创建一个对话框并为其指定id属性时,它将创建一个覆盖整个页面的底层,因此您只能在该新底层上单击任何内容。幸运的是,您可以使用CSS隐藏这样一个元素,并且由于元素的ID生成为#_underlay,因此您可以这样做: require(['dijit/Dialog','dijit/form/Button','do

我在对话框中显示一个网格,没有任何问题。但问题是,dialog在后台阻塞了整个页面。有什么办法可以避免吗?i、 e.一旦显示对话框,用户仍然可以访问页面元素,如选项卡等。

可以使用CSS。当您创建一个
对话框
并为其指定
id
属性时,它将创建一个覆盖整个页面的底层
,因此您只能在该新底层
上单击任何内容。幸运的是,您可以使用CSS隐藏这样一个元素,并且由于元素的ID生成为
#_underlay
,因此您可以这样做:

require(['dijit/Dialog','dijit/form/Button','dojo/domReady!'],函数(Dialog,Button){
var对话框=新建对话框({
id:'测试',
标题:"测试",,
内容:“你好,世界”
});
新按钮({},'btn')。在('click',function()上{
dialog.show();
});
});
/*“test”是对话框的ID,因此我需要使用#test#u参考底图*/
#测试基线{
/*将此属性设置为“无”将隐藏元素*/
显示:无;
}

点击我
你还能选我吗?

您可以使用Dojo的FloatingPane代替对话框。它的工作方式大致相同,您可以使用它下面的对象。

使用此解决方案会导致某些事件与其他小部件(如dgrids table)发生冲突。@g00glen00b:让我今天试用此解决方案,并将其更新回来。感谢您花时间回答这个问题。我认为有一个属性调用模式可以启用或禁用背景。这应该是一个注释而不是答案!我只能评论我的答案。当我尝试该网站时,告诉我‘你必须有50个声誉才能发表评论。’是的,然后首先获得声誉!我越来越……对不起,希望这对你有帮助!: