使⽤easyuidialog弹出框的⼀些注意事项
使⽤easy ui 的dialog弹出框制作后台管理系统时需要点击按钮弹出个新的弹出框,为了保持每次点击显⽰出来的数据都是重新渲染,从后台获取的,可以这样来写:
function piliangchuli(){
$("<div/>").dialog({
title: '批量处理',
id:'batchProcessing',
width: 920,
height: 'auto',
top:300,
closed: false,
inline:false,
loadingMessage: '正在加载...',
cache: false,
href :'../business/customermanagement/customerRelations/BatchProcessing.jsp',
modal: true,
onClose : function() {
$(this).dialog('destroy');
mmg.load();
},jquery弹出div窗口
});
}
可以使⽤onclick触发,然后$选择器⾥可以写成<div/>,这样操作过后关闭弹出框后,再弹出来时就不会保留上次弹出时留下来的操作痕迹,会重新渲染出来。
因为⽤的是easyui框架,所以就导致点击左边菜单栏弹出右边的tab是⽤iframe标签写的,这样就导致了⼀个问题,那就是那些在dialog⾥的弹出框会只在当前⽗级的iframe页⾯⾥显⽰,超出tab页范围时会被iframe标签外的别的东西挡住,显⽰不出来,说的简单点就是dialog 弹出框不在最上层显⽰。在⽹上原因是因为iframe与外⾯的div不是⼀个层级的,属于跨域的问题了,所以可以⽤如下⽅法,使dialog在主页调⽤就可以了:
function batchProcessing(){
parent.piliangchuli();
}
这是在⼦页⾯写的(即iframe框架⾥的页⾯⾥)。上⾯第⼀个写的调⽤dialog时是在主页⾯写的,这样就可以通过parent.function来沟通iframe和⽗页⾯的沟通,不会存在跨越问题了。
这样以后,本来以为问题都解决了,谁知道⼜出现问题了,因为虽然弹出框顺利的在主页⾯弹出来了(即最上层页⾯),但是那个dialog页⾯的js和css样式都失效了,⼜上度娘查了⼀圈才发现调出dialog框时只会弹出body标签⾥⾯的内容,head标签⾥的样式和js⽂件都不会被引⼊,所以只能把这些引⼊⽂件写⼊body标签⾥才管⽤。。。
这样折腾完后,终于发现js和css样式出来了,但是不亏是⽹⼀青铜段位的撸⼿,这⼿速,⼜发现了⼀个BUG,那就是第⼀次点击
时,dialog弹出来了,数据什么的都很正常,但是当第⼆次点击时,就会报错$().dialog() is not a function,dialog也不会弹出来~~⽆奈只能再次求助度娘,果然度娘没叫我失望,说是由于主页已经引⼊了jauery⽂件,然后在dialog弹出框的body标签⾥⼜引⼊了jquery⽂件,把它删除了以后就好了~~
好了,⽬前使⽤easyui的dialog问题只有这么多,说不定会不定期更新~~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论