● jQuery.noConflict()
/**
* 运行这个函数将变量 $ 的控制权让渡给第一个实现它的那个库。这有助于确保 jQuery 不会与其他库的 $ 对
* 象发生冲突。在运行这个函数后,就只能使用 jQuery 变量访问 jQuery 对象。例如,在要用到 $("div p")
* 的地方,就必须换成 jQuery("div p")。
*
* 注意:这个函数必须在你导入 jQuery 文件之后,并且在导入另一个导致冲突的库之前使用。当然也应当在其他
* 冲突的库被使用之前,除非 jQuery 是最后一个导入的。
*
* @return jQuery Object
*/
jQuery.noConflict();
/*
* 例子一:将 $ 引用的对象映射回原始的对象。
*/
jQuery.noConflict();
// 使用 jQuery
jQuery("div p").hide();
// 使用其他库的 $()
$("content").style.display = 'none';
/*
* 例子二:恢复使用别名 $,然后创建并执行一个函数,在这个函数的作用域中仍然将 $ 作为 jQuery 的别名来
* 使用。在这个函数中,原来的 $ 对象是无效的。这个函数对于大多数不依赖于其他库的插件都十分有效。
*/
jQuery.noConflict();
(function($) {
$(function() {
// 使用 $ 作为 jQuery 别名的代码
});
})(jQuery);
// 以下是其他使用 $ 作为别名的库的代码
var val = $F("someid"); // 这里使用的是 prototype 的 $()
/*
* 例子三:创建一个新的别名用以在接下来的库中使用 jQuery 对象。
*/
// j 就是 jQuery 新的别名
var j = jQuery.noConflict();
// 基于 jQuery 的代码
j("div p").hide();
// 基于其他库的 $() 代码
$("content").style.display = 'none';
● jQuery.noConflict(extreme)
/**
* 将$和jQuery的控制权都交还给原来的库。用之前请考虑清楚!
*
* 这是相对于简单的 noConflict 方法更极端的版本,因为这将完全重新定义jQuery。这通常用于一种极端的情
* 况,比如你想要将 jQuery 嵌入一个高度冲突的环境。注意:调用此方法后极有可能导致插件失效。
*
* @extreme(boolean) 传入 true 来允许彻底将 jQuery 变量还原
* @return jQuery Object
*/
jQuery.noConflict(extreme);
// 例子:完全将 jQuery 移到一个新的命名空间。
var dom = {};
dom.query = jQuery.noConflict(true);
// 新 jQuery 的代码
dom.query("div p").hide();
// 另一个库 $() 的代码
$("content").style.display = 'none';
// 另一个版本 jQuery 的代码
jQuery("div > p").hide();
分享到:
相关推荐
jQuery 3.1 标准课程第三章 核心方法插件及多库共存方法的使用
jQuery 3.1 参考手册 jQuery 核心函数 jQuery([sel,[context]]) jQuery(html,[ownerDoc])1.8* jQuery(callback) jQuery.holdReady(hold) jQuery 对象访问 ...多库共存 jQuery.noConflict([ex])
在开发过程中,可能还会使用到其他的JS库,比如Prototype,但多库共存时可能会发生冲突。解决这种冲突的方法有多种,以下是其中的一些: 一、 jQuery 库在其他库之前导入,直接使用 jQuery(callback)方法。这是因为...
核心 jQuery 核心函数 ...多库共存 jQuery.noConflict([ex]) 属性 属性 attr(name) attr(properties) attr(key, value) attr(key, fn) removeAttr(name) CSS 类 addClass(class | fn) removeClass([class |
多库共存 jQuery.noConflict([extreme]) 属性 属性 attr(name) attr(properties) attr(key, value) attr(key, fn) removeAttr(name) CSS 类 addClass(class) removeClass([class]) toggleClass(class [, ...
9. **jQuery与其他库的兼容性**:jQuery提供了`$.noConflict()`方法来解决与其他JavaScript库的命名冲突问题,保证了多库共存的可能。 10. **移动和触屏支持**:随着移动互联网的发展,jQuery Mobile和jQuery Touch...
6. **多库共存**: - `.noConflict([ex])`:释放jQuery的`$`符号,以便与其他库兼容。 7. **属性操作**: - `.attr(name)`:获取属性值。 - `.attr(properties)`:批量设置属性。 - `.attr(key, value)`:设置...
jQuery的基本使用、选择器、效果、样式操作、属性操作、元素操作、尺寸操作、位置操作、以及事件注册、事件处理、事件对象、拷贝对象、多库共存、部分插件的使用
` 用于保存`window`对象上的`jQuery`和`$`变量,这是为了应对多库共存的情况。当用户使用`jQuery.noConflict()`方法时,可以恢复原来保存的`jQuery`和`$`变量,避免了与其他库的关键字冲突。 ##### 3. jQuery对象的...
多库共存 jQuery.noConflict([ex]) 属性 属性 attr(name|pro|key,val|fn) removeAttr(name) prop(name|pro|key,val|fn)1.6+ removeProp(name)1.6+ CSS 类 addClass(class|fn) removeClass([class|fn]) ...
**多库共存** - `jQuery.noConflict()`:释放jQuery的$别名,以允许与其他库一起使用。 - `jQuery.noConflict(extreme)`:更彻底地释放jQuery的命名空间。 **选择器** jQuery提供了多种选择器,包括基本选择器...
**jQuery基本语法详解** jQuery是一个高效、简洁的JavaScript库,它极大地简化了DOM操作、事件处理、动画设计和...在实际项目中,合理利用jQuery的插件机制和多库共存策略,可以灵活地与其他JavaScript库结合使用。
多库共存是一个实际开发中常见的情况,jQuery通过$.noConflict()方法可以释放$符号,允许与其他库如 Prototype 共存。 在第二章,我们关注jQuery的核心机制。"无new构建"意味着可以通过不使用new关键字创建jQuery...
在JQuery源码中,还特别考虑了多库共存的情况,通过保存和恢复关键字的方式,防止了与其它库产生命名冲突,这体现了JQuery设计的灵活性和周到性。 此外,JQuery通过一系列的函数封装来创建jQuery对象,实际上就是...
7. **第七章**:讨论了jQuery与其他JavaScript库的共存问题,以及如何在多库环境中有效使用jQuery。 8. **第八章**:涵盖了高级话题,包括性能优化策略、jQuery的最佳实践,以及如何调试jQuery代码,确保代码的高效...
紧接着,在第56至68行,文档展示了如何处理多库共存的情况。具体做法是: 1. **保存原有的`jQuery`和`$`引用**:通过`var _jQuery = window.jQuery, _$ = window.$;`,将当前窗口中的`jQuery`和`$`变量保存到新的...
多库共存 jQuery.noConflict([ex]) HTML 5 标准属性 Previous Page Next Page HTML 标签拥有属性。您可以在每个标签的参考页中找到相应的特殊属性。这里列出的属性是通用于每个标签的核心属性和语言属性(有个别例外...
为了确保与其他JavaScript库共存时的兼容性,注释中提到了如何保存和恢复`jQuery`和`$`这两个关键字的功能。这通过`jQuery.noConflict()`方法来实现,使得其他库也可以使用这些关键字而不受干扰。 #### 三、源码...
多库共存 jQuery.noConflict([ex]) 属性 属性 attr(name|pro|key,val|fn) removeAttr(name) prop(n|p|k,v|f) removeProp(name) CSS 类 addClass(class|fn) removeClass([class|fn]) toggleClass(class|...