小编Nic*_*oss的帖子

通过单击外部来关闭Dojo对话框

我正在使用Dojo 1.6.1并且我想这样做,所以我可以通过单击对话框本身外部来关闭我的Dojo Dialog.经过研究,看起来最简单的方法之一是通过这样做:

var dij = dijit._underlay.domNode;
dojo.connect(dij, "onclick", function(e) { 
    dojo.query('[role="dialog"]').forEach(function(element) {
        if (element.className.match("dijit")) {
            if(element.id)
            {
                var widget = dijit.byId(element.id);
                if(widget._isShown() === true)
                {
                    widget.hide();  
                }
            }
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,因为dijit._underlay回来说它是未定义的.我想要完成这个或者更简单的方法是什么?

更新我更新了有效的代码,但只有在我在我的一个对话框上调用.show之后它才有用,然后它就是所有的对话.看起来在至少显示一个对话框之前不会创建参考底图.

javascript dojo dialog

3
推荐指数
1
解决办法
3355
查看次数

标签 统计

dialog ×1

dojo ×1

javascript ×1