解决jquery插件冲突的问题

 本篇文章主要是对解决jquery插件冲突的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

今天做了一个例子,用jquery和jquery插件 lightbox做了图片浮动放大效果,没有任何问题。
 
然后再加了一个 导航栏的js,结构导航的js和图片浮动放大的js发生了冲突,
 
要么就只有导航栏的js有效,要么就只有图片浮动js有效。
 
结果上网搜了搜,解决办法有如下
 
jQuery.noConflict()
 
概述
运行这个函数将变量$的控制权让渡给第一个实现它的那个库。
 
这有助于确保jQuery不会与其他库的$对象发生冲突。
 
在运行这个函数后,就只能使用jQuery变量访问jQuery对象。例如,在要用到$("div p")的地方,就必须换成jQuery("div p")。
 
'''注意:'''这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库'''之前'''使用。当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。示例
 
描述:
将$引用的对象映射回原始的对象。
 
jQuery 代码:
jQuery.noConflict();
// 使用 jQuery
jQuery("div p").hide();
// 使用其他库的 $()
$("content").style.display = 'none';
 
描述:
恢复使用别名$,然后创建并执行一个函数,在这个函数的作用域中仍然将$作为jQuery的别名来使用。在这个函数中,原来的$对象是无效的。这个函数对于大多数不依赖于其他库的插件都十分有效。
 
jQuery 代码:
jQuery.noConflict();
(function($) { 
  $(function() {
    // 使用 $ 作为 jQuery 别名的代码
  });
})(jQuery);
// 其他用 $ 作为别名的库的代码描述:
创建一个新的别名用以在接下来的库中使用jQuery对象。
 
jQuery 代码:
var j = jQuery.noConflict();
// 基于 jQuery 的代码
j("div p").hide();
// 基于其他库的 $() 代码
$("content").style.display = 'none';
 
 
jQuery.noConflict();
(function($) { 
  $(function() {
    // 使用 $ 作为 jQuery 别名的代码  我把导航的js代码写在这中间就行了
  });
})(jQuery);
// 其他用 $ 作为别名的库的代码
 

时间: 2025-01-01 10:54:46

解决jquery插件冲突的问题的相关文章

解决jquery插件冲突的问题_javascript技巧

今天做了一个例子,用jquery和jquery插件 lightbox做了图片浮动放大效果,没有任何问题. 然后再加了一个 导航栏的js,结构导航的js和图片浮动放大的js发生了冲突, 要么就只有导航栏的js有效,要么就只有图片浮动js有效. 结果上网搜了搜,解决办法有如下 jQuery.noConflict() 概述运行这个函数将变量$的控制权让渡给第一个实现它的那个库. 这有助于确保jQuery不会与其他库的$对象发生冲突. 在运行这个函数后,就只能使用jQuery变量访问jQuery对象.例

jquery 插件-求教,jquery插件冲突

问题描述 求教,jquery插件冲突 如标题所说,在引入jquery插件时,两个不同的jquery插件冲突,功能不能实现,怎么解决 解决方案 http://www.jb51.net/article/46106.htm 解决方案二: 一般是不会冲突的,冲突只能说插件写的有问题,做个匿名函数保护变量,防止变量名称冲突 解决方案三: 关于jquery插件冲突的问题.解决jquery插件冲突的问题

解决jquery版本冲突的有效方法_jquery

用过jQuery的朋友都知道jQuery不同版本会引发冲突,本文就此问题提出有效的解决方案如下: 案例:解决jQuery1.3.2和1.4.2的冲突.(本例已测试通过!) 第一步:在1.4.2的源代码的最后加上一句 : var $j4 = jQuery.noConflict(true); 之所以在源码这里加,而不是像大多数文章提的在要用到的时候加,这是因为很多基于1.4.2的插件都要加,在这里加可以避免过多插件加这句代码导致重复.这一句是将1.4.2的jQuery和$的引用权限全部放弃.也就是基

解决jquery插件:TypeError:$.browser is undefined报错的方法_jquery

首先先说一说$.browser browser就是用来获取浏览器基本信息的. jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9.解决方法:加入以下js即可 (function(jQuery){ if(jQuery.browser) return; jQuery.browse

jquery插件冲突(jquery.noconflict)解决方法分享

 本文主要解决了如何让多个不同的jQuery版本在同一个页面并存而不冲突的方法,需要的朋友可以参考下 许多的 JS 框架类库都选择使用$符号作为函数或变量名,jQuery是其中最为典型的一个.在 jQuery 中,$ 符号只是 window.jQuery 对象的一个引用,因此即使 $ 被删除,window.jQuery 依然是保证整个类库完整性的坚强后盾.jQuery 的 API 设计充分考虑了多框架之间的引用冲突,我们可以使用 jQuery.noConflict 方法来轻松实现控制权的移交.

jquery插件冲突(jquery.noconflict)解决方法分享_jquery

许多的 JS 框架类库都选择使用$符号作为函数或变量名,jQuery是其中最为典型的一个.在 jQuery 中,$ 符号只是 window.jQuery 对象的一个引用,因此即使 $ 被删除,window.jQuery 依然是保证整个类库完整性的坚强后盾.jQuery 的 API 设计充分考虑了多框架之间的引用冲突,我们可以使用 jQuery.noConflict 方法来轻松实现控制权的移交. jQuery.noConflict 方法包含一个可选的布尔参数[1],用以决定移交 $ 引用的同时是否

解决jQuery插件tipswindown与hintbox冲突_jquery

使用情形如下: 页面a.aspx中点击按钮弹出模拟层,在这个层中有一个输入文本框"监督人"处调用hintbox来产生即时查询功能. 直接调用产生了如下情形: 于是找到jquery.hintbox-1.3.js这个文件,发现其中出现这么一行: 复制代码 代码如下: $("#windown-content").ajaxStart(function(){ $(this).html("<img src='"+templateSrc+"/i

解决jquery中美元符号命名冲突问题

 在Jquery中,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,下面为大家介绍下如何解决jquery中美元符号命名冲突问题 在Jquery中,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,如$('#msg')等同于JQuery('#msg') 的写法.然而,当我们引入多个js库后,在另外一个js库中也定义了$符号的话,那么我们在使用$符号时就发生了冲突.下面以引入两个库文件 jquery.js和prototype.js为例来进行说明.   

怎样解决jq插件库冲突问题

问题描述 怎样解决jq插件库冲突问题 详细说明些 谢谢 刚接触jq相关 遇到了同一个页面使用不同版本的插件库 其中一个总是不好使 有没有什么解决办法解决冲突问题 希望大神们给解决 小妹在这有礼啦 解决方案 冲突页面用jQuery替换jQuery的$调用,另外可以参考这篇文章:http://www.soso.io/article/22443.html 解决方案二: 不能统一jquery版本吗?一般插件都会绑定最新版本,那也应该可以兼容老版本