dojo 制做非模态窗口dialog

dojo的dialog效果基本上都是模态的,也就是说,在弹出窗口后不能对窗口下的元素进行操作。

现在想做出非模态窗口的效果,在查阅了官方文档后并没找出方法,唯一可以替代使用的是dojox.layout.floatpanel部件。

没有示例和文档的参考,只好再去看源码和调度,最后找出一个可以解决的处理方案。


对于dialog的实现,其实dojo并不是使用了window的modal,而是自己写了一个透明的遮罩层放在了子窗口和父窗口之间,使用深度进行排列,所有对非弹出框区域的操作都被这个遮罩层给拦截了。


解决的方案就是,在完成dialog部件的渲染后,把遮罩层给去除或是隐藏。

实际使用代码

dojo.style(dojo.query(".dijitDialogUnderlayWrapper")[0],"display","none");
//或者
dojo.query(".dijitDialogUnderlayWrapper").style({"display":"none"})

 

问题解决

你可能感兴趣的:(dialog)