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 相关文章推荐
在页面上点击任一链接时触发一个事件的代码
Apr 07 Javascript
jQuery图片播放8款精美插件分享
Feb 17 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
Nov 28 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
JS中判断null、undefined与NaN的方法
Mar 26 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
Js+Ajax,Get和Post在使用上的区别小结
Jun 08 Javascript
微信js-sdk地理位置接口用法示例
Oct 12 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
Aug 23 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
Sep 04 Javascript
jquery判断滚动条距离顶部的距离方法
Sep 05 jQuery
JavaScript前端面试扁平数据转tree与tree数据扁平化
Jun 14 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
dedecms模版制作使用方法
2007/04/03 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
php目录操作实例代码
2014/02/21 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
JavaScript字符串对象substring方法入门实例(用于截取字符串)
2014/10/17 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
[07:09]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant 选手采访
2021/03/11 DOTA
python中xrange和range的区别
2014/05/13 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
生日宴会策划方案
2014/06/03 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
车位出租协议书范本
2016/03/19 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
无线电通信名词解释
2022/02/18 无线电
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android