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 相关文章推荐
DEDECMS如何为文章添加HOT NEW标志图片
Aug 14 Javascript
AngularJS equal比较对象实例详解
Sep 14 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
Dec 07 Javascript
node.js的事件机制
Feb 08 Javascript
web前端vue实现插值文本和输出原始html
Jan 19 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 Javascript
基于vue实现可搜索下拉框定制组件
Mar 26 Javascript
Vue-router 切换组件页面时进入进出动画方法
Sep 01 Javascript
使用webpack编译es6代码的方法步骤
Apr 28 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
Sep 02 Javascript
vue使用canvas实现移动端手写签名
Sep 22 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
实用函数2
2007/11/08 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
跟我学Laravel之路由
2014/10/15 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python版的文曲星猜数字游戏代码
2013/09/02 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
Python实现中值滤波去噪方式
2019/12/18 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
2020/03/10 HTML / CSS
信息部岗位职责
2013/11/12 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
愚人节活动策划方案
2014/03/11 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
致运动员赞词
2015/07/22 职场文书
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript