我在没有问题的对话框中显示网格。但问题是,对话框阻止了整个页面的背景。无论如何要避免它?即一旦显示对话框,用户仍然可以访问诸如Tab等页面元素。Dojo对话框不想阻止整个页面
0
A
回答
0
它可能通过使用CSS。当您创建Dialog
并为其提供id
媒体资源时,它将创建跨越整个页面的底层<div>
,因此您无法点击除新媒体<div>
以外的任何内容。幸运的是,你可以隐藏与CSS这样的元素,因为该元素的ID为#<ID of dialog>_underlay
产生,你可以简单地做到这一点是这样的:
require(['dijit/Dialog', 'dijit/form/Button', 'dojo/domReady!'], function(Dialog, Button) {
var dialog = new Dialog({
id: 'test',
title: 'Test',
content: 'Hello world'
});
new Button({}, 'btn').on('click', function() {
dialog.show();
});
});
/* "test" is the ID of the dialog, so I need to use #test_underlay */
#test_underlay {
/* Setting this property to none hides the element */
display: none;
}
<head>
<link href="https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/claro.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js" data-dojo-config="async: false"></script>
</head>
<body class="claro">
<button id="btn">Click me</button>
<input type="checkbox" />Can you still select me?
</body>
+0
使用此解决方案会导致与dgrids表等某些其他窗口小部件发生某些事件冲突。 –
+0
@ g00glen00b:让我今天尝试一下这个解决方案,并将您更新回来。感谢您花时间回答这个问题。 –
0
相反的对话框中你可以的使用Dojo的FloatingPane。它的工作方式大致相同,您可以使用它下面的对象。
相关问题
- 1. Dojo对话框不想阻止整个页面只有页面的fragement/div
- 2. 阻止整个页面
- 3. 电子对话框不阻止与页面的交互
- 4. dojo 1.4阻止yes/no对话框替换为window.confirm
- 5. 阻止UAC对话框
- 6. 进度对话框阻止
- 7. 如何禁用“阻止此页面创建其他对话框”?
- 8. “阻止此页面创建其他对话框”的规则
- 9. 使用blockui阻止整个页面
- 10. PHP会话 - 阻止整个页面加载
- 11. jQuery UI模式对话框不阻止
- 12. 阻止整个挥杆的用户界面 - “对话式”
- 13. JQuery手机,有没有办法阻止SELECT框成为对话框页面?
- 14. Dojo DataGrid - 阻止列大小调整
- 15. 阻止会话重新创建页面
- 16. 如何阻止QnAMaker对话框返回到父对话框?
- 17. 编码“主”页面和dojo对话框之间的差异
- 18. facebook阻止验证对话框
- 19. 如何阻止Umbraco显示对话框?
- 20. jQuery对话框阻止Firefox热键
- 21. 阻止DOM重绘的对话框
- 22. Javascript中的模态阻止对话框
- 23. 用对话框阻止Android线程
- 24. Android:阻止RPC进度对话框
- 25. 阻止JavaFX对话框关闭
- 26. jquery中的模态对话框不会阻挡整个站点
- 27. 当提交表单时,Jquery对话框加载页面阻止对话框关闭
- 28. 如何默认'阻止此页面创建其他对话框'为“OK”选项
- 29. chrome撤消“阻止此页面创建其他对话框”的操作
- 30. 确认dojo对话框
认为有一个属性调用模式,将启用或禁用背景 – tik27