如何有效地使用两个版本的JQuery
How to use 2 versions of JQuery efficiently?
我有一个web应用程序,使用JQuery 1.6,这是不能改变的。我有一个D3查看器,需要一个版本至少1.8。我找到了一个解决方案如下:
<script src='link to jquery 1.10' type="text/javascript"></script>
<script src='link to jquery custom 1.10' type="text/javascript"></script>
var jQuery_1_8_2= $.noConflict(true);
所以这里使用'$',我现在使用'jQuery_1_8_2'。
这工作得很好,但我有插件jstreet。
我需要的是一个功能,基本上当查看器运行时,它改变了JQuery的每一个使用到较新的版本。所以我不需要进入插件的源代码并将每个'$'字符更改为'jQuery_1_8_2'。
你可以对JS文件进行排序,当jstreet加载时,只有一个版本的JQuery可用,它只获得一次JQuery对象,所以在加载后改变全局$
' jQuery
的值是没有问题的。
<script src="jquery_for_jstree.js"></script>
<script src="jstree.js"></script>
<script>
var jsTreeJquery = $.noConflict(true);
</script>
<script src="another_jQuery.js"></script>
<script>
jsTreeJquery ("...").jstree(...)
</script>
您可以看到这种方法正在工作http://jsfiddle.net/npd3kc5t/
这是有效的,因为jtree遵循jQuery的建议,保护别名和添加作用域。
换句话说,当插件加载时,它得到全局jQuery
引用,并为它创建一个局部变量$
,所以不管你在插件加载全局$
' jQuery
后做什么。
使用jquery无冲突
//new version
var newJquery = jQuery.noConflict();
//call it like this
newJquery('#example').on('click')......
对旧的做同样的事情
var oldJquery = jQuery.noConflict();
相关文章:
- 同一HTML页面中的两个不同版本的JQuery
- 在同一页面中使用两个版本的jquery将返回'未定义不是函数'
- 如何在不必维护每个文件的两个版本的情况下,将通用JavaScript和映像部署到两个不同的EAR
- 测试两个版本的 json 架构是否向后兼容
- 在同一页面中使用两个不同的jquery版本
- 在一个网站上使用两个不同版本的现代化
- 两个不同版本的 jQuery 导致事件侦听失败
- 如何提高javascript html5程序的整体性能:是否可以在两台计算机上同步两个版本
- 如何为不同的用户组运行两个版本的 Backbone.js 应用程序
- 当浏览器开始实现JavaScript时,如何在支持一两个版本较旧的浏览器的同时开始使用它们
- 如何在网页中添加两个CSS文件,一个用于Safari浏览器,一个用于iPad桌面版本
- Jquery在两个版本之间存在冲突
- 如何在同一页面中使用两个不同版本的猫头鹰旋转木马
- 如何有效地使用两个版本的JQuery
- Javascript函数来比较两个版本
- jquery引用错误,同时获得两个版本的jquery
- 这两个版本的函数有什么不同?
- 如何引导.js与两个版本的jquery冲突
- 是否可以在同一页面上运行两个不同版本的ReactJS
- 运行两个版本的jQuery,无法让“noConflict”工作