包括jQuery作为不同的var

时间:2014-01-28 10:42:33

标签: javascript jquery

如何将jQuery包含为不同的命名var?我想引用具有不同变量的特定jQuery。

我知道包装这样的js文件..但如果我更新jQuery,它需要总是这样包装。

(function ($) {
    var blabla = something;
})(someJquery);

有没有办法以一种允许我轻松更新jQuery的方式进行int而不是总是这样包装?

e.g。

<script>someJquery</script>
<script>
#use this jquery as a var called jQuery2
</script>

1 个答案:

答案 0 :(得分:2)

直接来自jQuery.noConflict() docs

加载两个版本的jQuery(不推荐)。然后,将jQuery全局范围变量恢复到第一个加载的jQuery。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.noConflict demo</title>
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>

<div id="log">
  <h3>Before $.noConflict(true)</h3>
</div>
<script src="//code.jquery.com/jquery-1.6.2.js"></script>

<script>
var $log = $( "#log" );

$log.append( "2nd loaded jQuery version ($): " + $.fn.jquery + "<br>" );

// Restore globally scoped jQuery variables to the first version loaded
// (the newer version)

jQuery2 = jQuery.noConflict( true );

$log.append( "<h3>After $.noConflict(true)</h3>" );
$log.append( "1st loaded jQuery version ($): " + $.fn.jquery + "<br>" );
$log.append( "2nd loaded jQuery version (jQuery2): " + jQuery2.fn.jquery + "<br>" );
</script>

</body>
</html>

输出:

Before $.noConflict(true)

2nd loaded jQuery version ($): 1.6.2
After $.noConflict(true)

1st loaded jQuery version ($): 1.10.2
2nd loaded jQuery version (jq162): 1.6.2