Par*_*rde 7 jquery blockui jquery-blockui
我有巨大的JavaScript代码,并通过你的blockUI.js阻止解锁UI(http://malsup.com/jquery/block/)
我得到"无法读取未定义的属性'parentNode"随机异常.
似乎我的代码中的阻塞/解除阻塞序列已经脱离了sync.ex. 因为有多个html模板,它可能会阻塞两次并解锁一次,反之亦然.我很难分析所有代码并修复订单.
我能够产生一个问题的小提琴.有人可以看看并建议快速解决?
http://jsfiddle.net/pareshvarde/D8KW4/
<script type="text/javascript">
$(function () {
$("#blockButton").click(function () {
myBlock($('#blockSection'));
});
window.setInterval(function () {
myBlock();
myBlock($('#blockSection'));
window.setTimeout(function () {
myUnblock();
myUnblock($('#blockSection'));
}, 5000)
}, 2000);
$("#unBlockButton").click(function () {
myUnblock($('#blockSection'));
});
});
myBlock = function (surroundingControl, message) {
console.log('blocking');
if (message)
$("#loader h4").text(message);
else
$("#loader h4").text('Loading...');
if (surroundingControl)
surroundingControl.block({ message: $('#loader'), baseZ: 1200 });
else {
$.blockUI.defaults.message = $('#loader');
$.blockUI.defaults.baseZ = 1200;
$.blockUI.apply();
}
};
myUnblock = function (surroundingControl) {
console.log('unblocking');
if (surroundingControl)
surroundingControl.unblock();
else
$.unblockUI.apply();
};
</script>
Run Code Online (Sandbox Code Playgroud)
好吧,我终于解决了这个问题。基本上,我创建了一个动态元素,并将加载程序的内容放入该 div 中,并使用它进行阻塞。
我更新的 myBlock 函数如下:
myBlock = function (surroundingControl, message) {
console.log('blocking');
if (message)
$("#loader h4").text(message);
else
$("#loader h4").text('Loading...');
var messageContent = document.createElement('div');
if ($('#loader') !== undefined)
$(messageContent).html($('#loader').html());
else
$(messageContent).html("Loading....");
if (surroundingControl)
surroundingControl.block({ message: messageContent, baseZ: 1200 });
else {
$.blockUI.defaults.message = messageContent;
$.blockUI.defaults.baseZ = 1200;
$.blockUI.apply();
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4409 次 |
| 最近记录: |