我在我的网站“1.7.1”“1.5.2”和“1.3.2”上使用了 3 个不同版本的 jQuery 插件。在我的主页上获得了第一个 2 并且它们工作得很好,但是当我进入一个使用第三个的站点时,基于 1.7.1 和 1.5.2 的插件停止工作。
我确实尝试添加 jq132 = jQuery.noConflict(true); 脚本,然后将第三个应用程序中的每个 $ 切换到 jq132,但这似乎不起作用。有小费吗?
编辑:我设法删掉了 1.5.2 和 1.3.2 版本,感谢提示
我在我的网站“1.7.1”“1.5.2”和“1.3.2”上使用了 3 个不同版本的 jQuery 插件。在我的主页上获得了第一个 2 并且它们工作得很好,但是当我进入一个使用第三个的站点时,基于 1.7.1 和 1.5.2 的插件停止工作。
我确实尝试添加 jq132 = jQuery.noConflict(true); 脚本,然后将第三个应用程序中的每个 $ 切换到 jq132,但这似乎不起作用。有小费吗?
编辑:我设法删掉了 1.5.2 和 1.3.2 版本,感谢提示
您可能做错的事情是$.noConflict
在包含 jQuery 版本后没有立即调用。在每个 jQuery 包含标签之后,需要为该版本的 jQuery<script>
加上标签。$.noConflict
如果你真的需要所有三个版本(你真的不需要,顺便说一句),你可以尝试编辑每个版本的 jQuery 来更改每个版本的命名空间变量。
(function( window, undefined ) {
// Use the correct document accordingly with window argument (sandbox)
var document = window.document,
navigator = window.navigator,
location = window.location;
var jQuery132 = (function() {
// Define a local copy of jQuery
var jQuery = function( selector, context ) {
然后在你的 $(document).ready() 中:
jQuery132(document).ready(function($132) {
// code goes here
});
并且您$
将被替换$132
为您的 1.3.2 版本,依此类推。
顺便说一句,这是一个非常糟糕的主意。