0

我面临的问题是,当我激活 时dijit.dialog(),网页会变得模糊,并且在关闭对话框之前我无法连接到该页面。有什么方法可以让对话框保持打开状态并仍然可以访问该页面。通过访问,我的意思是网页应该能够监听点击事件或类似的事情。如果没有,我可以使用其他工具吗?

4

1 回答 1

0

考虑一下dojox/layout/FloatingPane,因为dijit/Dialog它是模态的(通过单例):

// var FloatingPane = require("dojox/layout/FloatingPane");
var floatingPane = new FloatingPane({
    title: "FloatingPane",
    content: "Hello World!",
    resizable: false,
    dockable: false
}, "floatingPane");

floatingPane.startup();

或者,如果您坚持dijit/Dialog可以将其子类化,但可能会出现奇怪的东西,尤其是。嵌套和/或组合模态/非模态对话框时:

// var Dialog = require("dijit/Dialog");
var ModelessDialog = declare(Dialog, {
    show: function() {
        this.inherited(arguments);
        Dialog._DialogLevelManager.hide(this);                      
    }
});

在 jsFiddle 上查看它的实际效果:http: //jsfiddle.net/phusick/TgEWL/

注意:使用时不要忘记包含dojox/layout/resources/FloatingPane.cssdojox/layout/resources/ResizeHandle.css样式表FloatingPane.

于 2012-11-07T07:32:08.200 回答