如何更改jQuery的命名空间?

时间:2009-10-08 04:50:56

标签: jquery namespaces

我正在开发一个内部使用jQuery的库,它工作正常。但我不想强迫用户使用我的jQuery版本只是因为他在他的代码中使用了我的库。

所以问题是,如何以不同的名称使用jQuery?

做这样的事情就足够了:

var mylib.jQuery = {};  
mylib.jQuery = jQuery.noConflict(true);

这将使jQuery在mylib.jQuery下可用并释放$符号,但原始的jQuery符号仍然有效(我认为这不太好)。

2 个答案:

答案 0 :(得分:5)

你必须进入源代码,因为在那里定义了window.jQuery,只需更新引用名称。

这似乎是一个不合理的要求。

编辑:看起来你要做的就是设置对$ .noConflict的引用:

<script src="jquery.js"></script>
<script>
var foo = {};
foo.jQuery = jQuery.noConflict( true );
alert( typeof jQuery );
alert( typeof $ );
alert( typeof foo.jQuery );
</script>

但是,在包含脚本之后,您必须立即执行此操作。我之前的方式是直接在脚本中完成的:

http://173.45.226.115/jquery.html

答案 1 :(得分:1)

通过在jQuery.noConflict(true);中指定true,它将noConflict设置为极端模式,并且应该使它不会与任何其他库冲突。它应该是你在我猜的任何地方定义的第一件事,所以在var mylib.jQuery = jQuery.noConflict(true);

之前不应该出现jQuery代码/插件