Colorbox:调用colorbox.close

时间:2011-03-25 17:35:16

标签: javascript jquery jquery-plugins colorbox

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

因此,我必须使用jQuery而不是$来为jQuery变量和方法添加前缀,例如: jQuery(document).ready(function(){});而不是$(document)ready(function(){});

这通常很好,但在这种情况下我使用的是colorbox。

我调用colorbox的代码运行正常,看起来像这样:

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

    ...
})

我在colorbox中有一个链接,我想附加colorbox.close方法,但当我点击链接时,我收到此错误:

  

未捕获的TypeError:无法调用方法   未定义的“关闭”

这是我的代码:

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

    ...
})

有人可以告诉我为什么我不能关闭彩盒吗?

顺便说一句,colorbox附带的X仍然可以关闭它。

4 个答案:

答案 0 :(得分:6)

jQuery("#addUser").colorbox.close("User added succesfully");

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

答案 1 :(得分:2)

为我解决这个问题最简单的方法是将jQuery.colorbox存储为全局命名空间中的变量。哎呀,但它确实有效。

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

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

    ...
})

然后我称之为:

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

    ...
})

答案 2 :(得分:1)

这对我有用:

jQuery().colorbox.close();

答案 3 :(得分:0)

你可以尝试编写jQuery.fn.colorbox.close(“用户添加成功”);而不是jQuery.colorbox.close(“用户添加成功”);