如何更改 jQuery 的命名空间?
Posted
技术标签:
【中文标题】如何更改 jQuery 的命名空间?【英文标题】:How to change Namespace of jQuery? 【发布时间】:2010-12-04 21:00:32 【问题描述】:我正在开发一个在内部使用 jQuery 的库,它运行良好。但我不想仅仅因为他在他的代码中使用我的库就强迫用户使用我的 jQuery 版本。
所以问题是,我怎样才能以不同的名称使用 jQuery?
这样做是否足够:
var mylib.jQuery = ;
mylib.jQuery = jQuery.noConflict(true);
这将使 jQuery 在mylib.jQuery
下可用并释放$
符号,但原来的jQuery
符号仍然有效(我认为这不太好)。
【问题讨论】:
【参考方案1】:你必须进入源代码,因为 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
【讨论】:
好吧,我想对于大多数人来说 noConflict 就足够了,呵呵。但是是的,我会更新所有窗口。源代码中的语句。【参考方案2】:通过在jQuery.noConflict(true);
中指定 true,它将 noConflict 设置为极端模式,并且应该使其不会与任何其他库发生冲突。它应该是您在我猜想的任何地方定义的第一件事,因此在 var mylib.jQuery = jQuery.noConflict(true);
之前不应出现任何 jQuery 代码/插件@
【讨论】:
以上是关于如何更改 jQuery 的命名空间?的主要内容,如果未能解决你的问题,请参考以下文章