4

我有以下 jQuery 代码给我带来了问题。我有两个都调用 blockUI 的 jQuery 函数,并且两者都得到相同的错误。它说 blockUI 不是一个函数。谁能告诉我为什么?

function loading() {
                // register on click event for buttons.
                $.blockUI({
                    message: '<h3 class="fldHead">Loading... <img src="/app/images/winliveprog.gif"/></h3>'
                });
                $('body').css('cursor', 'wait');
        }
        $(function() {
            $('[name="btnPreviewPost"]').click(function() {
                console.log('btnPreviewPost clicked');
                $(this).blockUI();
                loading();
                $.blockUI({
                    message: '<h3 class="fldHead">Loading... <img src="/capserver/images/winliveprog.gif"/></h3>'
                });
                $('body').css('cursor', 'wait');
            });
            $('[name="btnEditPost"]').click(function() {
                console.log('btnEditPost clicked')
                $(this).blockUI();
                loading();
                $.blockUI({
                    message: '<h3 class="fldHead">Loading... <img src="/capserver/images/winliveprog.gif"/></h3>'
                });
                $('body').css('cursor', 'wait');
          });
        });
4

8 回答 8

6

我有同样的问题,结果我通过一些依赖包含了两次 javascript 文件。一旦我删除了其中一个 javascript 文件,blockUI就可以正常工作。

于 2014-05-09T09:36:37.043 回答
3

请注意,jQuery BlockUI 插件在最新版本的 jQuery 中不会“开箱即用”。这是因为 BlockUI 使用了 jQuery.browser API,该 API 在 jQuery 1.9 中被删除。要让 BlockUI 再次工作,您需要使用 jquery-migrate:

https://github.com/jquery/jquery-migrate/#readme

于 2013-05-20T20:57:11.107 回答
3

我遇到了同样的问题,我通过包含这个文件来解决它:

<script src="http://malsup.github.io/jquery.blockUI.js">
于 2018-01-04T15:51:34.360 回答
2

您可以在$(element).block();
这里查看http://www.malsup.com/jquery/block/#element

于 2012-09-13T02:26:15.083 回答
1

尝试将其创建为 $.fn.blockUI 以便在 $(this).blockUI(); 等 jquery 对象上调用它;

于 2012-09-13T02:10:23.550 回答
0

我有同样的问题,问题是我用来注册 blockUI 的路径。在我的情况下,site.master 页面中 jquery.blockUI.js 的 src 是错误的。请检查您是否正确注册了 jquery.blockUI.js。

于 2012-09-13T04:46:30.587 回答
0

我的情况是 woocommerce 插件的旧版本(2.0.10) - 我无法更新它,因为它会破坏一些自定义功能 - 所以我不得不在 write-panels.min.js 中用 .block 注释掉 jQuery 行和writepanel-product-type-variable.php 。

于 2016-06-07T09:28:43.733 回答
0

我正在使用 Angular 并在这里遇到同样的问题。受@Robert 启发,我发现有两个参考资料:

jquery.min.js

在 angular.json 中。我删除了一个,它工作。

于 2020-03-02T23:48:01.380 回答