【问题标题】:How to change Namespace of jQuery?如何更改 jQuery 的命名空间?
【发布时间】:2010-12-04 21:00:32
【问题描述】:

我正在开发一个在内部使用 jQuery 的库,它运行良好。但我不想仅仅因为他在他的代码中使用我的库就强迫用户使用我的 jQuery 版本。

所以问题是,我怎样才能以不同的名称使用 jQuery?

这样做是否足够:

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

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

【问题讨论】:

    标签: jquery namespaces


    【解决方案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 代码/插件@

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多