首页 新闻 会员 周边

jQuery版本冲突问题

0
悬赏园豆:200 [待解决问题]

页面原引用了jQuery2.4.1版本,后来需要引用第三方JS库内的一个表格控件,该库需要用到jQuery3.5.1版本,我如何处理才能正常使用该控件呢?

我使用了jQuery.noConflict(true) 方法保留了jQuery3.5.1并且用下面方式成功初始化了表格控件

<script src="~/lib/jquery/2.4.1/jquery.min.js"></script>
<script src="~/lib/jquery/3.5.1/jquery.min.js"></script>
<script src="~/lib/第三方控件.js"></script>

<script> var jq351 = jQuery.noConflict(true); </script>
<script>
jq351(function($){

 //初始化第三方表格控件
 xxxxxxxx

});
</script>

但是在调用控件自带一些函数时,提示我找不到该方法,应该是在【第三方控件.js】 里面使用了$ 而不是 jq351 导致的, 目前我只是知道如果把 【第三方控件.js】 里所有$ 替换成jq351就能正常使用,但应该还有比较好的解决方法把,求大神帮忙解答下,谢谢

弱鸡1的主页 弱鸡1 | 初学一级 | 园豆:2
提问于:2022-02-17 16:46

感觉2.4和3.5之间需要做判断,什么情况下用哪个

kouf 2年前
< >
分享
所有回答(3)
0

方法:
1.把jQuery2.4.1版本 去掉 看自己的函数是否会受影响
2.如果1方法不行,去掉jQuery3.5.1 ,保留Query2.4.1版本 然后再试

lf03 | 园豆:502 (小虾三级) | 2022-02-17 17:02

都试过不行,都会有一些函数提示出错,因为只用到第三方一个控件,最好还是保留2.4.1,这个关联的函数比较多

支持(1) 反对(0) 弱鸡1 | 园豆:2 (初学一级) | 2022-02-17 17:09
0

捋清js代码的先后顺序应该可行
jQuery2.4.1
依赖jQuery2.4.1的其它代码
jQuery3.5.1
第三方控件
依赖jQuery3.5.1的代码
按照这个顺序排列

by.Genesis | 园豆:2719 (老鸟四级) | 2022-02-18 13:08

从【jQuery3.5.1】开始到后面我是这个顺序,第三方控件也会依赖jQuery3.5.1,但是调用var jq351 = jQuery.noConflict(true); 以后$就是jQuery2.4.1版本的了,这时所有【第三方控件】用到$的就没法用了,得替换成jq351,我是不知道怎么才能把【第三方控件】 中的函数放到jq351这个范围里去

支持(0) 反对(0) 弱鸡1 | 园豆:2 (初学一级) | 2022-02-18 13:31

@弱鸡1: 不要var jq351 = jQuery.noConflict(true); 这一行呢

支持(0) 反对(0) by.Genesis | 园豆:2719 (老鸟四级) | 2022-02-18 14:22

@by.Genesis: 不要这一行,那么当前$是jQuery3.5.1版本, 【jQuery3.5.1】这一行前面跟2.4.1有关的函数又会提示找不到

支持(0) 反对(0) 弱鸡1 | 园豆:2 (初学一级) | 2022-02-18 14:56
0

别人这样的,参考参考。

LiveCoding | 园豆:497 (菜鸟二级) | 2022-04-11 16:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册