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对象之内置对象Math使用方法
Apr 16 Javascript
对xmlHttp对象方法和属性的理解
Jan 17 Javascript
jquery isType() 类型判断代码
Feb 14 Javascript
JavaScript和CSS通过expression实现Table居中显示
Jun 28 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
Sep 05 Javascript
理解JavaScript中Promise的使用
Jan 18 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
Sep 23 Javascript
node.js路径处理方法以及绝对路径详解
Mar 04 Javascript
js表单登陆验证示例
Oct 19 Javascript
BootStrap Table对前台页面表格的支持实例讲解
Dec 22 Javascript
jquery uploadify如何取消已上传成功文件
Feb 08 Javascript
layui表格内放置图片,并点击放大的实例
Sep 10 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
PHP动态图像的创建
2006/10/09 PHP
dedecms中常见问题修改方法总结
2007/03/21 PHP
php array_search() 函数使用
2010/04/13 PHP
php explode函数实例代码
2012/02/27 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
Open and Print a Word Document
2007/06/15 Javascript
jQuery each()小议
2010/03/18 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
2016/05/17 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
javascript实现时钟动画
2020/12/03 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
Python中取整的几种方法小结
2017/01/06 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
django之session与分页(实例讲解)
2017/11/13 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
eBay加拿大站:eBay.ca
2019/06/20 全球购物
迎元旦广播稿
2014/02/22 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
租车协议书范本2014
2014/11/17 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书