我们有一个在noConflict模式下使用jQuery的项目。该产品的用户使用自己的jQuery版本。结果是在页面上有两个版本的jQuery(一个在noConflict(真)模式,另一个在普通/全局模式)。
这种方法有任何已知问题吗?官方文件说
如果由于某种原因加载了两个版本的jQuery(不建议这样做)......
但它没有说出原因。
答案 0 :(得分:1)
可以使用两个或更多版本的jQuery,但只有正确且非常谨慎地完成。一般而言,如果可能的话,应该避免出于以下原因:
$(elem).data("key", info)
设置了一些信息,则该数据将无法在其他版本的jQuery中使用,因为它们各自都有自己的.data()
存储库。.on()
,并且尝试与另一个版本执行.off()
以清除给定对象上的所有jQuery事件处理程序,则只会删除安装在其中的事件处理程序当前版本的jQuery(再次因为每个版本的jQuery都拥有它自己的事件处理程序存储),而不是与另一个版本一起安装的版本。答案 1 :(得分:0)
没有问题,由于jQuery的noconflict模式,你可以拥有一个包含两个或更多jQuery版本的程序。
顺便说一句jQuery文档说:
" [..](不推荐)[..]"
在我的观点中,因为引入新问题,你必须记住始终使用指定版本的特定jQuery函数:
jQuery_1_x_y('#el').function();
jQuery_1_k_z('#el').function();