块UI工作,但在第二次调用它时出错



这个blockUI插件有一个奇怪的东西。

这是我用来调用块的函数:

function runBlockUI(selector,width)
{
    $.blockUI({ 
        message: $(selector),
        centerY: 0, 
        css: { 
            top:  '30px', 
            left: ($(window).width() - width) /2 + 'px', 
            width: width + 'px',
            height: '550px'}
    });
    $('.blockOverlay').attr('title','Klik om venster te sluiten');
    $('.blockOverlay').click($.unblockUI);
}

问题是该函数由 3 个不同的选择器调用。有了 2,它就可以完美地工作。但对于另一个,它只工作一次。关闭并调用函数后,出现以下错误(在Firebug中):

TypeError: $.blockUI is not a function

对此很困惑,希望有人可以帮助我!提前感谢!

格茨

!!解决!!!

问题解决了。我太笨了,我没有看到这个哈哈。该功能适用于 2 个项目。但是对于不起作用的消息div 包含一个 html 文件的 load() 函数。我太愚蠢了

<script type="text/javascript" src="jquery.js"></script>

在加载的 HTML 中。此加载确实"取消设置"了块UI插件。删除了 js 包含,它现在可以工作了!感谢您的关注!

看起来这条线是问题所在。

$('.blockOverlay').click($.unblockUI);

您正在为单击事件分配方法而不是函数。

$('.blockOverlay').click(function() {$.unblockUI() } ); // Supposed to be called this way

此外,每次调用函数时都要分配单击事件。将此行移出函数调用。.

最新更新