关于DOJO中dialog遮罩的问题

本文转自:http://www.blogjava.net/chen45257211/articles/380786.html

 dialog是自带遮罩功能的,但是我们在使用的时候,有可能不需要遮罩这个东西,怎么把它去掉呢?如果使用的是dojox的dialog,modal属性直接可以去掉遮罩,但是DOJO1.7以后推荐使用DialogSimple,因为它继承了ContentPane。但是却没有了modal属性,怎么办?   有几种办法:
    1. dojo.byId("id").childNodes[0].style.display="none"; id是在页面上遮罩的id,可以都过firebug看到
    2.dojo.destroy('id'); id是你生成dialog的id
    3.dijit._underlay.hide();
    4.dijit._underlay.domNode.style.display = "none";
    第一种肯定不是最好的办法,因为id这个东西不是固定的,并且很有可能是系统自动生成的。第二种会出现新的问题,因为当你页面中存在很多个dialog时,他们都是共用一个遮罩的,这样其他的dialog如果还想使用遮罩就是不可能的了。第三种是我在网上看到的办法,但是很遗憾,会报错,原因找到了,是因为hide的时候有这一句this.bgIframe.destroy(),但是你关闭dialog时调用的hide方法又会销毁一次bgIframe,会显示找不到bgIframe。所以我进入了DialogUnderlay中的hide方法,发现主要的代码就是第四种方法!如果想要显示就使用dijit._underlay.domNode.style.display = "block",是不是完美解决了? 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值