<div class="codetitle"> <span><a style="CURSOR: pointer" data="73328" class="copybut" id="copybut73328" onclick="doCopy('code73328')"><u>复制代码</u></a></span> 代码如下:</div> <div class="codebody" id="code73328"> <br>//显示遮罩 <br>$.blockUI({ <br>message: $('#divlogin'), <br>css:{width:"400px", height:"255px", top: ($(window).height() - 400) /2 + 'px', left: ($(window).width() - 400) /2 + 'px'} <br>}); <br>//取消遮罩 <br>$("#cancel").click(function() { <br>$.unblockUI(); <br>}); <br> </div> <br>取消遮罩是,js 动态生成的外层没有消失。 <br>在FF3.0.4,Chrome下都没问题,只是 IE6 IE7 Ie8下不正常。 <br>打开源码,找到了下面这句话: <br><div class="codetitle"> <span><a style="CURSOR: pointer" data="65042" class="copybut" id="copybut65042" onclick="doCopy('code65042')"><u>复制代码</u></a></span> 代码如下:</div> <div class="codebody" id="code65042"> <br>var lyr1 = ($.browser.msie) ? $('<iframe class="blockUI" style="z-index:'+ z++ +';border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="javascript:false;"></iframe>') <br>: $('<div class="blockUI" style="display:none"></div>'); <br> </div> <br>可以看到,在IE下,它是生成了一个 iframe,并在这个 iframe 中加载你自己的对话框。 <br>那么,现在只是外层不消失,自己手动让它消失。 <br><div class="codetitle"> <span><a style="CURSOR: pointer" data="43016" class="copybut" id="copybut43016" onclick="doCopy('code43016')"><u>复制代码</u></a></span> 代码如下:</div> <div class="codebody" id="code43016"> <br>$.blockUI({ message: $("#dialog")}); <br>$("#cancel").click(function() { <br>$.unblockUI(); <br>$(".blockUI").fadeOut("slow"); <br>}); <br> </div> <br>OK,IE6 IE7都可以了。 <br>使用blockui后,遮罩层数据不能提交到后台了,使用ajax可以 <br>要提交到后来,请教后明白,遮罩层不再当前form中,所以提交后没有form不能提交 <br>解决办法,把遮罩层部分,放置到form中 <br>$('#divlogin').parent().appendTo(jQuery("form:first"));---还为完全找到放到form外面的遮罩层数据,所以不是很清楚。