如何更改 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 的命名空间?的主要内容,如果未能解决你的问题,请参考以下文章

Django 管理员 - jQuery 命名空间

jQuery 属性选择器:如何使用自定义命名空间查询属性

使用命名空间调用 jquery

C# |如何更改 XML 文档中的命名空间?

如何更改命名空间的前缀?

如何从默认 kops 命令更改 kubernetes 上下文中的默认命名空间?