Colorbox:调用 colorbox.close

Posted

技术标签:

【中文标题】Colorbox:调用 colorbox.close【英文标题】:Colorbox: Calling colorbox.close 【发布时间】:2011-07-23 02:31:28 【问题描述】:

我正在做一个使用velocity模板系统的项目,所以$字符是保留的,不能在javascript变量名中使用。

因此,我必须在 jQuery 变量和方法前面加上 jQuery,而不是 $,例如jQuery(文档).ready(函数() );而不是 $(document)ready(function());

这通常没问题,但在这种情况下,我使用的是彩盒。

我调用 colorbox 的代码工作正常,如下所示:

jQuery(document).ready(function () 
    jQuery("#addUser").colorbox(
        href:"add",
        width:"500px",
        onClosed: function (message) 
            dataTable.refresh(jQuery("#ajaxResult").text(message));
        
    )

    ...
)

我在颜色框中有一个链接,我想将 colorbox.close 方法附加到该链接,但是当我单击该链接时,我收到此错误:

未捕获的类型错误:无法调用方法 未定义的“关闭”

这是我的代码:

jQuery(document).ready(function () 
    jQuery("a").click(function() 
        jQuery.colorbox.close("User added succesfully");
    );

    ...
)

谁能告诉我为什么我不能关闭颜色框?

对了,colorbox自带的X还是可以关闭的。

【问题讨论】:

【参考方案1】:
jQuery("#addUser").colorbox.close("User added succesfully");

此外,如果您选择using external javascript files <script type="text/javascript" src="my_script_file.js" /> 或escaping the $ like \$,您应该能够使用jQuery$ 语法。

【讨论】:

【参考方案2】:

对我来说解决这个问题的最简单方法是将 jQuery.colorbox 作为变量存储在全局命名空间中。很糟糕,但它有效。

这是我放在父窗口中的内容:

jQuery(document).ready(function () 
    colorbox = jQuery.colorbox;

    ...
)

那我这样称呼它:

jQuery(document).ready(function () 
    jQuery("a").click(function() 
        colorbox.close("User added succesfully");
    );

    ...
)

【讨论】:

【参考方案3】:

这对我有用:

jQuery().colorbox.close();

【讨论】:

【参考方案4】:

你能试试写jQuery.fn.colorbox.close("用户添加成功");而不是 jQuery.colorbox.close("用户添加成功");

【讨论】:

是的,我想到了。文档说这就是您应该在 iframe 中执行此操作的方式。此实现不使用 iframe。无论如何我都试过了,它并没有解决问题。不过,谢谢。

以上是关于Colorbox:调用 colorbox.close的主要内容,如果未能解决你的问题,请参考以下文章

TinyMCE 和 jquery.colorbox

Colorbox - 从特定窗口中删除关闭按钮

jQuery Tokeninput 下拉菜单位于 Colorbox 窗口下

如何使用 colorbox 在我的页面上显示隐藏的 div 而无需硬编码?

Colorbox 不会显示控件、边框

控制 iframe 内的 Colorbox 位置