jquery blockUI 遮罩不能消失与不能提交的解决方法
jquery blockUI 遮罩不能消失与不能提交的解决方法
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下://显示遮罩$.blockUI({message:$('#divlogin'),css:{width:"400px",he...

复制代码 代码如下:

//显示遮罩

$.blockUI({

message: $('#divlogin'),

css:{width:"400px", height:"255px", top: ($(window).height() - 400) /2 + 'px', left: ($(window).width() - 400) /2 + 'px'}

});

//取消遮罩

$("#cancel").click(function() {

$.unblockUI();

});

取消遮罩是,js 动态生成的外层没有消失。

在FF3.0.4,Chrome下都没问题,只是 IE6 IE7 Ie8下不正常。

打开源码,找到了下面这句话:

复制代码 代码如下:

var lyr1 = ($.browser.msie) ? $('<iframe+ z++ +';border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="javascript:false;"></iframe>')

: $('<div></div>');

可以看到,在IE下,它是生成了一个 iframe,并在这个 iframe 中加载你自己的对话框。

那么,现在只是外层不消失,自己手动让它消失。

复制代码 代码如下:

$.blockUI({ message: $("#dialog")});

$("#cancel").click(function() {

$.unblockUI();

$(".blockUI").fadeOut("slow");

});

OK,IE6 IE7都可以了。

使用blockui后,遮罩层数据不能提交到后台了,使用ajax可以

要提交到后来,请教后明白,遮罩层不再当前form中,所以提交后没有form不能提交

解决办法,把遮罩层部分,放置到form中

$('#divlogin').parent().appendTo(jQuery("form:first"));---还为完全找到放到form外面的遮罩层数据,所以不是很清楚。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类