jQuery noConflict

引入jQuery文件会引入两个全局变量  $ 和 jQuery

也就是说 如果引入jQuery文件之前这两个变量 已有值的话  那就会被jQuery覆盖掉

为了解决这个问题 jQuery提供了一个noConflict方法

// Map over jQuery in case of overwrite
_jQuery = window.jQuery,

// Map over the $ in case of overwrite
_$ = window.$,
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
        noConflict: function( deep ) {
        if ( window.$ === jQuery ) {
            window.$ = _$;
        }

        if ( deep && window.jQuery === jQuery ) {
            window.jQuery = _jQuery;
        }

        return jQuery;
    },
时间: 2024-08-04 06:30:10

jQuery noConflict的相关文章

jQuery.noConflict() 函数详解

jQuery.noConflict()函数用于让出jQuery库对变量$(和变量jQuery)的控制权. 一般情况下,在jQuery库中,变量$是变量jQuery的别名,它们之间是等价的,例如jQuery("p")和$("p")是等价的.由于变量$只有一个字符,并且特点鲜明,因此我们更加习惯使用$来操作jQuery库. 不过,其他JS库也可能使用变量$来进行操作,例如Prototype库.这个时候两个库可能会由于变量$的控制权问题而发生冲突. 此时,你可以使用该函数

window.onload多个共存 - 借鉴jQuery.noConflict的思路

一.背景 ?window.onload方法只能存在一个,如果多次赋值给window.onload,则后者会覆盖前者. 二.浅谈jQuery.noConflict的实现方式 1)源代码 // 简化抽离出来源码 (function( window, undefined ) { var _jQuery = window.jQuery, _$ = window.$; jQuery.extend({ noConflict: function( deep ) { if ( window.$ === jQue

jQuery - noConflict() 方法

jQuery - noConflict() 方法 如何在页面上同时使用 jQuery 和其他框架? jQuery 和其他 JavaScript 框架 正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写. 如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办? 其他一些 JavaScript 框架包括:MooTools.Backbone.Sammy.Cappuccino.Knockout.JavaScript MVC.Google Web Toolkit.Go

关于jquery.noConflict()的学习记录

今天无意中看到了jquery.noConfict()的实现方法 代码如下: var // Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$; jQuery.noConflict = function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if (

jquery.noConflict源码分析(2)

代码位于9159~9183 该功能是为了解决JQ与其他函数命名冲突的问题. API  jQuery.noConflict([removeAll]); 缺省情况下,运行这个函数将变量$的控制权让渡给第一个实现它的库.在运行完这个函数之后,就只能使用jQuery变量访问jQuery对象. 该函数必须在导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用. var // Map over jQuery in case of overwrite _jQuery = window.jQuery,

jQuery.noConflict() 解决冲突 原理深入

jQuery.noConflict()函数用于让出jQuery库对变量$(和变量jQuery)的控制权. 一般情况下,在jQuery库中,变量$是变量jQuery的别名,它们之间是等价的,例如jQuery("p")和$("p")是等价的.由于变量$只有一个字符,并且特点鲜明,因此我们更加习惯使用$来操作jQuery库. 不过,其他JS库也可能使用变量$来进行操作,例如Prototype库.这个时候两个库可能会由于变量$的控制权问题而发生冲突. 此时,你可以使用该函数

jQuery.noConflict()解决imgBox.js依赖jquery版本问题

jQuery提供两种点击图片放大效果出处 在使用imgbox.js是出现的jquery版本不兼容问题,之后了解到jQuery.noConflict()的用法 jQuery.noConflict()的存在只有一个目的:它允许你在同一个页面加载多个jQuery实例,尤其是不同版本的jQuery. //引用 <script src="~/Scripts/ssn/jquery.min.js"></script> <script type="text/ja

jQuery.noConflict() 函数

jQuery.noConflict()函数用于让出jQuery库对变量$(和变量jQuery)的控制权. 一般情况下,在jQuery库中,变量$是变量jQuery的别名,它们之间是等价的,例如jQuery("p")和$("p")是等价的.由于变量$只有一个字符,并且特点鲜明,因此我们更加习惯使用$来操作jQuery库. 不过,其他JS库也可能使用变量$来进行操作,例如Prototype库.这个时候两个库可能会由于变量$的控制权问题而发生冲突. 此时,你可以使用该函数

jquery noConflict详解

noConflict是防止其他库也用了$作为全局变量而引起的冲突,我们看看jquery是怎么做的 首先jquery在代码的开始部分定义了2个私有变量: _jQuery = window.jQuery _$ = window.$ 然后jquery提供了noConflict方法: 1 noConflict: function( deep ) { 2 if ( window.$ === jQuery ) { 3 window.$ = _$; 4 } 5 6 if ( deep && window