我正在开发一个使用速度模板系统的项目,所以$字符是保留的,不能在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仍然可以关闭它。
答案 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(“用户添加成功”);