jQuery只允许一个版本

时间:2011-06-07 22:08:20

标签: jquery external-script

我有第三方脚本,包括jquery(导致事情中断)。我使用的是1.6版本,外部脚本使用的是旧版本。

如何强制只加载一个版本的jquery,它是我在页面上的版本而不是从外部加载的版本?

2 个答案:

答案 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的外部。