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 相关文章推荐
JS JavaScript获取Url参数,src属性参数
Mar 09 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 Javascript
js 跳出页面的frameset框架示例介绍
Dec 23 Javascript
jQuery中:eq()选择器用法实例
Dec 29 Javascript
JS实现一个按钮的方法
Feb 05 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
React组件的三种写法总结
Jan 12 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
Aug 07 Javascript
微信小程序性能优化之checkSession的使用
Mar 06 Javascript
ant-design表单处理和常用方法及自定义验证操作
Oct 27 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 Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
javascript实现的简单的表单验证
2015/07/10 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
Python中字符串的处理技巧分享
2016/09/17 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
使用python求解二次规划的问题
2020/02/29 Python
浅谈Python 函数式编程
2020/06/20 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
2014年国培研修感言
2014/03/09 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
班主任寄语2015
2015/02/26 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
React实现动效弹窗组件
2021/06/21 Javascript
python 进阶学习之python装饰器小结
2021/09/04 Python
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android