使用 jquery.BlockUI 插件禁用整个 jqGrid(jQuery Grid 插件)

Posted

技术标签:

【中文标题】使用 jquery.BlockUI 插件禁用整个 jqGrid(jQuery Grid 插件)【英文标题】:Disabling entire jqGrid (jQuery Grid Plugin) using jquery.BlockUI plugin 【发布时间】:2013-11-17 14:03:19 【问题描述】:

我有下面的jqGrid:

<table id="_myGrid" cellpadding="0" cellspacing="0">
</table>
<div id="_myPager" style="text-align: center;">
</div>

尝试通过执行以下操作来禁用整个 jqGrid 是行不通的:

<script type="text/javascript" src="/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript" src="/Scripts/jquery.blockUI.js"></script>
<script type="text/javascript">

   $(document).ready(function () 
     $('#_myGrid').closest('.ui-jqgrid').blockUI( 
        message: '<h1>Being processed...</h1>', 
        css:  border: '3px solid #a00'  
     );
   );

</script>

抛出的错误是: "对象不支持/不接受这个属性或方法'blockUI'"

同样的错误被抛出。

我也试过了:

 $('#_myGrid').blockUI( ...

我做错了什么?

【问题讨论】:

Disable entire jqGrid的可能重复 【参考方案1】:

您在使用blockUI 时犯了一个小错误。正确的用法会是

$("#_myGrid").closest(".ui-jqgrid").block(
    message: "<h1>Being processed...</h1>",
    css:  border: "3px solid #a00" 
);

用于阻塞和

$("#_myGrid").closest(".ui-jqgrid").unblock();

用于解锁。 The demo 演示了阻塞。它显示

我建议您另外使用theme: true 选项并将css 选项替换为themedCSS。为了让您减少使用的 CSS 选项的数量,并使外观与您使用的 jQuery UI 主题更加和谐。例如代码

$("#_myGrid").closest(".ui-jqgrid").block(
    message: "<h1>Being processed...</h1>",
    theme: true,
    themedCSS: 
        width: "35%",
        left: "30%",
        border: "3px solid #a00"
    
);

我在 the demo 中使用的它与 Redmond jQuery UI Theme 一起产生以下结果:

【讨论】:

非常感谢!它完美地工作。我的问题是包含 jquery.blockUI 时。尽管我已将它包含在页面中,但它没有被正确包含。我必须将它包含在母版页中。很好的解释和很好的例子!再次感谢您花一些时间帮助我。

以上是关于使用 jquery.BlockUI 插件禁用整个 jqGrid(jQuery Grid 插件)的主要内容,如果未能解决你的问题,请参考以下文章

jQuery遮罩插件jQuery.blockUI.js简介

如何在 MVC Ajax 中使用 jQuery blockui 插件?

如何使用jquery BlockUI

Jquery blockUI用法

Confluence 6 启用和禁用 Office 连接器

Outlook addin 禁用删除插件