jQuery 多库共存问题
实际开发中,很多项目连续开发很多年,JQuery版本也在不断更新,最初的JQuery库不满足需求,这个时候就需要保证在旧版本正常运行情况下,新的版本也能实现
如何解决jQuery 多库共存问题?
- 将
$
统一改为jQuery
jQuery
变量规定新的名称$.noConflict();
,var
自定义名称 =$.noConflict();
// 使用 noConflict() 方法为 jQuery 变量规定新的名称 example
// 后续在该库下用 example 代替 jQuery 和 $
var example = $.noConflict();
eg:
<button type="button">按钮</button>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
var example = $.noConflict();
example(function () {
example("button").click(function () {
console.log("按钮被点击了!")
})
)
</script>
noConflict()
定义和用法
noConflict() 方法让渡变量 $ 的 jQuery 控制权。
该方法释放 jQuery 对 $ 变量的控制。
该方法也可用于为 jQuery 变量规定新的自定义名称。
tips:在其他 JavaScript 库为其函数使用 $ 时,该方法很有用。
语法:
// removeAll 为布尔值,指示是否允许彻底将 jQuery 变量还原
jQuery.noConflict(removeAll);