我有第三方脚本,包括jquery(导致事情中断)。我使用的是1.6版本,外部脚本使用的是旧版本。
如何强制只加载一个版本的jquery,它是我在页面上的版本而不是从外部加载的版本?
答案 0 :(得分:5)
使用jquery.noConfict();
实际上很容易做到这一点<script src='jquery-1.6.js'></script>
<script>
var jq16 = jQuery.noConflict();
</script>
<script src='jquery-1.4.2.js'></script>
<script>
var jq142 = jQuery.noConflict();
</script>
然后你可以让函数使用$()命名空间:
(function($) {
$('<button>Use jQuery 1.4.2</button>')
.click(function() {
alert('Top: ' + $(this).offset().top + '\n' +
'jQuery: ' + $.fn.jquery);
})
.appendTo('body');
})(jq142);
this page有更详细的示例和一些额外提示。
答案 1 :(得分:1)
使用.noConflict()代替?
的实施例强>
我将这个放入HTML文档中的<head>
:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript">
jQuery.noConflict()
jQuery16 = jQuery
</script>
在我的jQ脚本中,我称之为:
jQuery16(document).ready(function($){
$('.textarea').text(' Hello World! ');
});
这样做我很害羞我的脚本不会干扰使用其他/旧版jQuery的外部。