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实现的页内搜索代码
May 23 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
jqplot通过ajax动态画折线图的方法及思路
Dec 08 Javascript
js实现jquery的offset()方法实例
Jan 10 Javascript
JS模拟按钮点击功能的方法
Dec 22 Javascript
浅谈Node.js:理解stream
Dec 08 Javascript
Vue.js实战之组件的进阶
Apr 04 Javascript
微信小程序 slider的简单实例
Apr 19 Javascript
微信小程序 实现动态显示和隐藏某个控件
Apr 27 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
javascript中undefined的本质解析
Jul 31 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
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 xml常用函数的集合(比较详细)
2013/06/06 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
js中eval详解
2012/03/30 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
浅述python中argsort()函数的实例用法
2017/03/30 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
Django如何实现上传图片功能
2019/08/16 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
如何使用python代码操作git代码
2020/02/29 Python
python绘制趋势图的示例
2020/09/17 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
Linux面试题LINUX系统类
2015/11/25 面试题
Linux的文件类型
2016/07/05 面试题
毕业寄语大全
2014/04/09 职场文书
公司证明怎么写
2014/09/22 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python