我在沒有問題的對話框中顯示網格。但問題是,對話框阻止了整個頁面的背景。無論如何要避免它?即一旦顯示對話框,用戶仍然可以訪問諸如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