Jquery库及其他库之间的$命名冲突解决办法
首先我们应该知道,在jquery中,$(美元符号)就是jquery的别名,也就是说使用$和使用jquery是一样的,在很多时候我们命名空间时,正是因为这个$而产生的冲突的发生。比如说:$('#xmlas')和JQuery('#xmlas') 虽然在写法上不同,但在实际上却是完全等同的。
要想解决这个冲突,其实最简单的方法就是使用不同的名称来命名,或者让执行代码认为是不同的命名空间即可。
一、 jQuery库在其他库之前导入,直接使用jQuery(callback)方法如:
代码如下 | 复制代码 |
<html> <script type="text/javascript"> $("pp").style.display = 'none'; //使用prototype |
二、jQuery库在其他库之后导入,使用jQuery.noConflict()方法将变量$的控制权让渡给其他库,有以下几种方式:
代码如下 | 复制代码 |
<script type="text/javascript"> $("pp").style.display = 'none'; //使用prototype |
//代码二
代码如下 | 复制代码 |
<script type="text/javascript"> $("pp").style.display = 'none'; //使用prototype |
码三
代码如下 | 复制代码 |
<script type="text/javascript"> $("pp").style.display = 'none'; //使用prototype |
//代//代码四
代码如下 | 复制代码 |
<script type="text/javascript"> $("pp").style.display = 'none'; //使用prototype /*********************************************************************/ |
除了上面的方法之外,我们还可以采用第二种方法来解决冲突的问题,那就是最笨但最有效的解决方法:用自定义的命名空间来避免冲突。
比如说需要的项目名称为xmlas,那么我们原来的代码:
代码如下 | 复制代码 |
$('contentArea').show() |
就可以写成以下这种形式:
代码如下 | 复制代码 |
XMLAS('contentArea').show() |
3.在jquery代码中,当遇到冲突的时候我们可以使用$符号,这需要我们在ready事件中添上以下代码:
代码如下 | 复制代码 |
jQuery(document).ready(function($) { |
当然,您也可以简写成下面的形式:
代码如下 | 复制代码 |
jQuery(function($){ //这里为使用$的代码 }); |
由此,根据第一个方法来实现的完整代码如下:
代码如下 | 复制代码 |
//jquery库与其他库冲突的完整解决办法 <script type="text/javascript" src="photolist.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $.noConflict(); jQuery(function($) { //使用了$的jquery代码 }); //这里是你的其他js库代码 </script> |
当然,你也可以对上面的完整代码进行一步的简化,简化代码如下:
代码如下 | 复制代码 |
//简化后的代码 |
jQuery$命名冲突问题解决方法
解决JQuery中美元符号($)与$命名冲突
解决JQuery中$与JS插件库相冲突问题
jquery ajax 表单提交被浏览器拦截解决办法
jQuery中$.getJSON乱码问题解决办法
jquery ajax.getscript缓存问题解决办法
JQuery ui dialog(close)无效的解决办法
jQuery绑定和解绑点击事件及重复绑定解决办法
JQuery TypeError: this.parentNode is undefined解决办法
jquery中click与dblclick事件冲突解决方法
jquery (document).ready中使用document.write导致页面空白解决办法
jquery IE6 select.val() bug报错解决办法
Jquery库及其他库之间的$命名冲突解决办法的更多相关文章
- jquery获取不到append出来的新元素的解决办法
jquery获取不到append出来的新元素的解决办法 $('body').on("click","property",function(){}) jq1.7+ ...
- jQuery库冲突解决办法
一次面试中面试官问到jQuery解决怎么冲突?虽然以前看过,但是我已经不记得了. 我的思路就是如果让我来设计,那我就用一个默认值$,不传参数,那就用$,最后就挂载在window.$上,传参数就用传入名 ...
- macOS下加载动态库dylib报"code signature invalid"错误的解决办法
一.现象描述 在macOS上搞开发也有一段时间了,也积攒了一定的经验.然而,今天在替换工程中的一个动态库时还是碰到了一个问题.原来工程中用的是一个静态库,调试时发现有问题就把它替换成了动态库.这本来没 ...
- .Net Framework项目引用.NetStandard标准库出现版本冲突解决办法
今天在工作中出现一个引用问题,害我找问题找了很久.起因是在一个Winform项目下需要引用一个.NetStandard标准库,标准库引用了System.ComponentModel.Annotatio ...
- pycharm不能安装第三方库,错误代码Non-zero exit code (1) 的解决办法
pycharm版本 2019.3 大致意思是安装失败,建议的解决方案:尝试从系统终端运行此命令.确保使用正确的'pip'版本,该版本已为位于'C:\ Users \ G \ Desktoplgianf ...
- jquery的$post方法不发送空数组的解决办法
问题:jquery里的ajax在提交post请求时,如果数据里有一个空数组,则这个空数组不会提交上去 技术上的解决办法如下: 源代码: var params = { type : , ids:[] } ...
- css命名冲突解决方法
css的命名冲突目前有几种解决方法: 1.命名约定 人为的制定一下命名规则以避免冲突,例如前缀,嵌套等 2.CSS in JS 在JavaScript中写CSS,使用工具编译为css,最常见的是sty ...
- IOS lib(.a)库冲突解决办法
在引入第三方lib(.a)库时,经常会由于第三方lib库中又引入同你现有工程相同的开源代码而造成.o冲突,最近在集成汉王名片识别时发生ASIHttp的.o冲突.我想说的是像这种开源的使用率很高的源代码 ...
- Android 第三方库导致jar包冲突解决办法
这几天的任务是将mapbox的工程合到程序中去,但是合并过程却出现了问题 合并方法: 在app的build.gradle中添加 dependencies { compile ('com.mapbox. ...
随机推荐
- C#客户端链接网页需要用到的WebClient
WebClient 类提供向 URI 标识的任何本地.Intranet 或 Internet 资源发送数据以及从这些资源接收数据的公共方法. WebClient 类使用 WebRequest 类提供对 ...
- 非IE内核浏览器支持activex插件
之前在一个B/S项目中遇到一个需求,就是客户需要在页面上对报表的布局以及显示内容,进行自定义.最后决定使用activex技术来实现.众所周知,activex是微软搞得,因此只有ie内核的浏览器才能支持 ...
- iOS常用动画代码
使用前 需引入QuartzCore.framework, 并在相关文件中加入 #import "QuartzCore/QuartzCore.h" 定义 shakeFeedbackO ...
- 解决ccSvcHst.exe CPU占用超50%的问题,及其缘由
无意中发现任务管理器中一个非常奇特的进程,迅速吃掉了我50%的cpu资源,并且是持续性的,于是上google一番查找,终于有了新的发现. 非常多问答产品所有都是清一色的 错误解决方式: 正常情况下,系 ...
- Keil C51基本数据类型
- Java模拟登录系统抓取内容【转载】
没有看考勤的习惯,导致我的一天班白上了,都是钱啊,系统也不发个邮件通知下.... 为了避免以后还有类似状况特别写了个java模拟登录抓取考勤内容的方法(部分代码来自网络),希望有人修改后也可以 ...
- codeforces Gym 100500H H. ICPC Quest 水题
Problem H. ICPC QuestTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100500/a ...
- 行规——::GetDC()和::ReleaseDC()配对
1.今天向客户演示程序,不巧崩溃了.最后发现是使用了GetDC()后没有使用ReleaseDC()引起的. 2.最早听说GetDC()和ReleaseDC()是从前任带头码哥那里听说的,那时候仅仅用& ...
- HomeSnap
http://arnauddegiuli.github.io/HomeSnap/ OnBufferingUpdateListener https://github.com/LuckyJayce/Mat ...
- 【剑指offer】八皇后问题
转载请注明出处:http://blog.csdn.net/ns_code/article/details/26614999 剑指offer上解决八皇后问题,没实用传统的递归或非递归回溯法,而是用了非常 ...