我的jQuery的多个版本不起作用

时间:2019-04-03 16:02:33

标签: jquery

我想在同一页面上使用多个版本的jQuery。 我在下面写了,但是两个脚本不起作用。 您能教我什么不符合我的代码要求吗?

<script type="text/javascript" src="//jpostal-1006.appspot.com/jquery.jpostal.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.0.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<script type="text/javascript">    
var $330 = $.noConflict(true);
</script>

这是我整个JS部分

https://jsfiddle.net/blueink/8m7oLzsf/1/

一个是使用jquery-2.1.0.min.js和jpostal.js的邮政编码脚本 第二个脚本是使用3.3.0的livesearch。

1 个答案:

答案 0 :(得分:1)

问题是因为在添加第二个jQuery之前,您需要在jQuery的第一个实例上调用$.noConflict()。因此,如果您想保留$作为对2.1.0的引用,请添加第二个。

还要注意,您对jquery.jpostal.js的引用(依赖jQuery)必须放在这两个引用之后。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<script type="text/javascript">
  var $330 = $.noConflict(true);
</script>
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript" src="//jpostal-1006.appspot.com/jquery.jpostal.js"></script>

<!-- Just for demonstration purposes -->
<script>
  console.log($.fn.jquery)
  console.log($330.fn.jquery);
</script>

尽管如此,在一个站点中需要多个版本的jQuery并不理想,并且将来会成为维护问题。您的时间会花在解决升级到最新版本的问题上。