回答(7)
2 years ago
var jQuery_1_1_3 = $.noConflict(true);
var jQuery_1_3_2 = $.noConflict(true);
然后,而不是 $('#selector').function(); ,你做 jQuery_1_3_2('#selector').function(); 或 jQuery_1_1_3('#selector').function(); .
2 years ago
看完这个并尝试后,我发现它实际上不允许一次运行多个jquery实例 . 在搜索之后我发现这只是诀窍而且代码少了很多 .
$(document).ready(function(){
console.log($().jquery); // This prints v1.4.2
console.log($j().jquery); // This prints v1.9.1
});
那么在“$”之后添加“j”就是我需要做的 .
$j(function () {
$j('.button-pro').on('click', function () {
var el = $('#cnt' + this.id.replace('btn', ''));
$j('#contentnew > div').not(el).animate({
height: "toggle",
opacity: "toggle"
}, 100).hide();
el.toggle();
});
});
2 years ago
原始页面加载了"jquery.versionX.js" - $ 和 jQuery 属于versionX .
您调用"jquery.versionY.js" - 现在 $ 和 jQuery 属于版本Y,加 _$ 和 _jQuery 属于版本X.
my_jQuery = jQuery.noConflict(true); - 现在 $ 和 jQuery 属于versionX, _$ 和 _jQuery 可能为null, my_jQuery 为versionY .
2 years ago
有可能加载第二个版本的jQuery使用它,然后恢复到原始版本或保留第二个版本,如果之前没有加载jQuery . 这是一个例子:
var jQueryTemp = jQuery.noConflict(true);
var jQueryOriginal = jQuery || jQueryTemp;
if (window.jQuery){
console.log('Original jQuery: ', jQuery.fn.jquery);
console.log('Second jQuery: ', jQueryTemp.fn.jquery);
}
window.jQuery = window.$ = jQueryTemp;
console.log('Script using second: ', jQuery.fn.jquery);
// Restore original jQuery:
window.jQuery = window.$ = jQueryOriginal;
console.log('Script using original or the only version: ', jQuery.fn.jquery);
2 years ago
您可以根据需要在页面上拥有尽可能多的不同jQuery版本 .
使用jQuery.noConflict():
var $i = jQuery.noConflict();
alert($i.fn.jquery);
var $j = jQuery.noConflict();
alert($j.fn.jquery);
var $k = jQuery.noConflict();
alert($k.fn.jquery);
2 years ago
我想说你必须始终使用jQuery最新或最新的稳定版本 . 但是,如果您需要与其他版本一起工作,则可以添加该版本并将 $ 重命名为其他名称 . 例如
看看这里如果你用 $ 写一些东西,那么你会得到最新的版本 . 但是如果你需要用旧版本做任何事情,那么只需使用 $oldjQuery 而不是 $ .
这是一个例子
$(function(){console.log($.fn.jquery)});
$oldjQuery (function(){console.log($oldjQuery.fn.jquery)})
2 years ago