js-jquery-noConflict

// Map over jQuery in case of overwrite
//用_jQuery保存已存在的window.jQuery
	_jQuery = window.jQuery,

	// Map over the $ in case of overwrite
//用_$保存已存在的window.$
	_$ = window.$,

jQuery.extend({
	noConflict: function( deep ) {
          //此时的$如果等于jq,则让位给以前的保存的_$
		if ( window.$ === jQuery ) {
			window.$ = _$;
		}
          //同上,加了一个deep判断,是否联通jQuery一起让出去
		if ( deep && window.jQuery === jQuery ) {
			window.jQuery = _jQuery;
		}
		return jQuery;
	}
//....
window.jQuery = window.$ = jQuery;
})();

注释基本已经比较清晰了,先保存已存在的jquery,$,然后,再去把jq里面的这些变量让位出去,所以这里在页面中的加载顺序,应该是先其它的js,然后jq,再调用noConflict();

同时也可以看出,这个让位,是把变量(jquery,$)让位到上一个声明它的(如果有多个js引用里面好几个用到了jquery、$)。

时间: 2024-10-25 12:48:55

js-jquery-noConflict的相关文章

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() 方法

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

js jquery 代码冲突

示例: js与prototype,msclass 解决办法: (1)var a = jQuery.noConflict(); 如果有用到jquery中的$,都得用a来代替之前的$ (2) 将$改成jQuery (3)推荐: jQuery(function($){  //代码 }或者(function($) {  //代码 })(jQuery); 有时可考虑用DOM来代替$提取元素

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

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

jQuery.noConflict() 函数

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

JS jquery ajax

4.form中的input可以设置为readonly和disable,请问2者有什么区别? readonly不可编辑,但可以选择和复制:值可以传递到后台 disabled不能编辑,不能复制,不能选择:值不可以传递到后台 5.js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式什么? alertconfirmprompt 2.列举Java和JavaScript之间的区别? Java是一门十分完整.成熟的编程语言.相比之下,JavaScript是一个可以被引入HTML页面的编程语言

js jquery插入元素后事件会被注销

  js jquery插入元素后事件会被注销 document.body.innerHTML += <div id="dd">test</div>  //这个会注销事件 $(document.body).append(str);//使用这个 也可以绑定事件. 例子: //快捷键双击 $(".app_shortcut_item").dblclick(function () { var id = $(this).attr("id&quo

一个基于html,css,js,JQuery的登录界面

github地址:https://github.com/BgirlStar/myTest_final 任务需求: 可进行部分改变,但颜色和风格要保持不变. 完成点:1.login按钮的隐藏与弹出 2.弹出框样式(三角,阴影,圆角) 3.输入框图片和默认字符 4.背景按钮渐变 5.js内置用户名密码,点击登录后弹出对话框 完成后图片: 加入jquery插件 实现了弹出框的隐藏与弹出,代码见js/index.js js/jquery.js 内置email和密码 代码见js/need.js 素材包见j

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