JQuery的$和其它JS发生冲突的快速解决方法


Posted in Javascript onJanuary 24, 2014

众所周知,jQuery是目前最流行的JS封装包,简化了很多复杂的JS程序,JQuery讲浏览器DOM树定义为$,通过$来获取各个子节点。

然后,JS插件并非只有JQuery,还有prototype.js 等其它比较好的插件。它们也使用$。所以有时候同时使用这个两个JS插件的时候,就会出现$的使用权冲突问题。现在我们来看看如何解决这个冲突问题。请看下文:

我们都知道JQuery有一个函数,jquery.noConflict() 它的作用是讲$的控制权转让出去。然后我们可以通过jQuery代替$来获取dom节点

举例:

方法一:

<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
jQuery(function(){ //使用jQuery
jQuery("p").click(function(){
alert( jQuery(this).text() );
});
});
$("pp").style.display = 'none'; //使用prototype
</script>

方法二:

我们可以通过noConflict()函数来定义一个快捷方式用来获取dom节点

<script type="text/javascript">
var $j = jQuery.noConflict(); //自定义一个比较短快捷方式
$j(function(){ //使用jQuery
$j("p").click(function(){
alert( $j(this).text() );
});
});
$("pp").style.display = 'none'; //使用prototype
</script>

还有其它的方法,都给大家列举出来,同理都可以看明白了吧,呵呵。

方法三:

<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
jQuery(function($){ //使用jQuery
$("p").click(function(){ //继续使用 $ 方法
alert( $(this).text() );
});
});  
$("pp").style.display = 'none'; //使用prototype
</script>

方法四:
<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
(function($){ //定义匿名函数并设置形参为$
$(function(){ //匿名函数内部的$均为jQuery
$("p").click(function(){ //继续使用 $ 方法
alert($(this).text());
});
});
})(jQuery); //执行匿名函数且传递实参jQuery
$("pp").style.display = 'none'; //使用prototype
</script>
Javascript 相关文章推荐
简短几句 通俗解释javascript的闭包
Jan 17 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
Mar 17 Javascript
js去除空格的12种实用方法
Nov 08 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
javascript折半查找详解
Jan 26 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
Oct 13 Javascript
Bootstrap table使用方法总结
May 10 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
Feb 11 Javascript
node.js通过axios实现网络请求的方法
Mar 05 Javascript
8 个有用的JS技巧(推荐)
Jul 03 Javascript
详解微信小程序中var、let、const用法与区别
Jan 11 Javascript
分享几个JavaScript运算符的使用技巧
Apr 24 Javascript
js判断60秒以及倒计时示例代码
Jan 24 #Javascript
innerText 使用示例
Jan 23 #Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 #Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 #Javascript
html dom节点操作(获取/修改/添加或删除)
Jan 23 #Javascript
解决jquery插件冲突的问题
Jan 23 #Javascript
js实现日期级联效果
Jan 23 #Javascript
You might like
GD输出汉字的函数的分析
2006/10/09 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
PHP闭包函数详解
2016/02/13 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
js停止输出代码
2008/07/20 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
重命名批处理python脚本
2013/04/05 Python
Python调用C语言开发的共享库方法实例
2015/03/18 Python
Python的动态重新封装的教程
2015/04/11 Python
Python定时执行之Timer用法示例
2015/05/27 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
Python实现的堆排序算法示例
2018/04/29 Python
Django开发的简易留言板案例详解
2018/12/04 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
幼儿园小班家长寄语
2014/04/02 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
公务员个人总结
2015/02/12 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
JS数组去重详情
2021/11/07 Javascript