0

我在我的网站“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 版本,感谢提示

4

2 回答 2

1

您可能做错的事情是$.noConflict在包含 jQuery 版本后没有立即调用。在每个 jQuery 包含标签之后,需要为该版本的 jQuery<script>加上标签。$.noConflict

请参阅:我可以在同一页面上使用多个版本的 jQuery 吗?

于 2012-02-07T02:18:44.320 回答
1

如果你真的需要所有三个版本(你真的不需要,顺便说一句),你可以尝试编辑每个版本的 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 版本,依此类推。

顺便说一句,这是一个非常糟糕的主意。

于 2012-02-07T02:19:20.047 回答