`
fengpy2009
  • 浏览: 251349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

jQuery.noConflict

 
阅读更多

jQuery.noConflict( [removeAll] ) Returns: Object

Description: Relinquish jQuery's control of the $ variable.

  • version added: 1.0 jQuery.noConflict( [removeAll] )

    removeAll A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself).

Many JavaScript libraries use $ as a function or variable name, just as jQuery does. In jQuery's case, $ is just an alias for jQuery , so all functionality is available without using $ . If we need to use another JavaScript library alongside jQuery, we can return control of $ back to the other library with a call to $.noConflict() :

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Code that uses other library's $ can follow here.
</script>

This technique is especially effective in conjunction with the .ready() method's ability to alias the jQuery object, as within callback passed to .ready() we can use $ if we wish without fear of conflicts later:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
  });
  // Code that uses other library's $ can follow here.
</script>

If necessary, we can free up the jQuery name as well by passing true as an argument to the method. This is rarely necessary, and if we must do this (for example, if we need to use multiple versions of the jQuery library on the same page), we need to consider that most plug-ins rely on the presence of the jQuery variable and may not operate correctly in this situation.

Examples:

Example: Maps the original object that was referenced by $ back to $.

jQuery
.
noConflict
();


// Do something with jQuery

jQuery
(
"div p"
).
hide
();


// Do something with another library's $()

$
(
"content"
).
style
.
display 
=
 
'none'
;

Example: Reverts the $ alias and then creates and executes a function to provide the $ as a jQuery alias inside the functions scope. Inside the function the original $ object is not available. This works well for most plugins that don't rely on any other library.

jQuery
.
noConflict
();


(
function
(
$
)
 
{
 
  $
(
function
()
 
{

    
// more code using $ as alias to jQuery

  
});


})(
jQuery
);


// other code using $ as an alias to the other library

Example: You can chain the jQuery.noConflict() with the shorthand ready for a compact code.

jQuery
.
noConflict
()(
function
(){

    
// code using jQuery


});
 

// other code using $ as an alias to the other library

Example: Creates a different alias instead of jQuery to use in the rest of the script.

var
 j 
=
 jQuery
.
noConflict
();


// Do something with jQuery

j
(
"div p"
).
hide
();


// Do something with another library's $()

$
(
"content"
).
style
.
display 
=
 
'none'
;

Example: Completely move jQuery to a new namespace in another object.

var
 dom 
=
 
{};

dom
.
query 
=
 jQuery
.
noConflict
(
true
);

Result:

// Do something with the new jQuery
dom.query("div p").hide();
// Do something with another library's $()
$("content").style.display = 'none';
// Do something with another version of jQuery
jQuery("div > p").hide();
分享到:
评论
1 楼 LovingBaby 2014-04-16  
这排版太混乱了0.0

相关推荐

    三分钟带你玩转jQuery.noConflict()

    jQuery.noConflict() 是jQuery库提供的一种机制,用于解决在同一个网页中使用多个jQuery版本或与其它JavaScript库可能引发的命名冲突问题。这个方法的核心在于它能够恢复全局的`jQuery`和`$`变量到它们在jQuery库...

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

    jQuery 的 API 设计充分考虑了多框架之间的引用冲突,我们可以使用 jQuery.noConflict 方法来轻松实现控制权的移交。 jQuery.noConflict 方法包含一个可选的布尔参数[1],用以决定移交 $ 引用的同时是否移交 jQuery ...

    jQuery中noConflict()用法实例分析

    jQuery中的`noConflict()`方法就是为了避免这种情况而设计的。 `$`在jQuery中通常被用作快捷方式来调用jQuery对象,但它本质上是`window.jQuery`的一个引用。`jQuery.noConflict()`的主要作用就是释放`$`这个符号,...

    jquery.color.js

    - **避免冲突**:在某些情况下,可能需要使用jQuery的noConflict模式,以防止与其他库的命名空间冲突。 - **版本适配**:不同版本的jQuery.color.js可能与不同版本的jQuery存在兼容性问题,选择合适版本的插件是必要...

    jSignature.min.noconflict.zip

    `jSignature.min.noconflict.zip`是一个包含jSignature插件的压缩包,这个插件主要用于在网页上实现签名功能。它提供了用户友好的接口,允许访客通过鼠标或触控设备在网页上进行签名,生成的数据可以是图像格式或者...

    轻松搞定jQuery.noConflict()

    为了避免全局命名空间污染,jQuery提供了jQuery.noConflict()方法解决变量冲突。这个方法,毫无疑问,非常有效。遗憾的是,jQuery的官方文档对该方法的描述不够清晰,许多开发者并不清楚当他们调用jQuery.noConflict...

    jquery.min.js jquery-1.4.2.min.js jquery-1.4.4.min.js jquery-1.10.2.min.js.zip

    4. **避免全局作用域污染**:通过`jQuery.noConflict()`方法,可以防止jQuery与其它使用$符号的库发生冲突。 5. **学习和掌握API**:深入理解jQuery API将有助于编写更高效、简洁的代码,提升开发效率。 综上所述...

    jquery与js函数冲突的两种解决方法.docx

    `jQuery.noConflict()`是jQuery提供的一个功能,它的主要作用是释放`$`这个变量,将其控制权归还给之前占用它的库。这样,其他库可以继续使用`$`,而jQuery则需要通过`jQuery`来调用。以下是这种方法的示例: ```...

    require-angular-template:使用 jQuery.noConflict(true)(私有 jQuery)处理 angular 和 requirejs 的代码库

    require.js、angular、bootstrap 和 jQuery.noConflict(true) 基本模板 特征: 此代码包含一个 AMD 封装的引导程序版本 jQuery 仅在 require 模块中可用 随意重用和/或修改 代码灵感和来源:

    jQuery 参考手册 速查表

    jQuery 3.1 参考手册 jQuery 核心函数 jQuery([sel,[context]]) jQuery(html,[ownerDoc])1.8* jQuery(callback) jQuery.holdReady(hold) jQuery 对象访问 each(callback) ...jQuery.noConflict([ex])

    解决其他js和jquery冲突方法

    四、使用 jQuery.noConflict()方法将变量$的控制权让渡给其他库,同时使用自定义的变量名,例如$j = jQuery.noConflict();。这样可以避免与其他库的冲突,同时也可以继续使用自定义的变量名。 在实际开发中,可以...

    demo47-jQuery冲突问题

    - **`jQuery.noConflict()` 的作用**:当调用 `jQuery.noConflict()` 时,jQuery 会释放对 `$` 的控制权,并将自身返回,使得可以直接通过 `jQuery` 来调用 jQuery 的方法,或者通过传入的变量名(如上面例子中的 `$...

    jquery-1.9.1(js和min.js下载)

    4. 避免全局污染:使用`$`符号可能会与其他库冲突,可以使用`jQuery.noConflict()`来解决,或者在闭包中使用`var $ = jQuery;`避免全局污染。 综上所述,jQuery 1.9.1版本是开发者常用的一个版本,它提供了完善的...

    jquery-1.10.2.min.js

    2. **命名冲突**:为了避免与现有JavaScript代码产生命名冲突,jQuery提供了`$`和`jQuery`两个别名,可以使用`jQuery.noConflict()`方法释放`$`符号。 总结,jQuery 1.10.2.min.js是前端开发中的重要工具,它极大地...

    Sitepoint.jQuery.Novice.to.Ninja.Feb.2010.rar

    9. **jQuery.noConflict()**:对于与其他JavaScript库共存的情况,`noConflict()`方法可以释放$符号,防止命名冲突。 10. **最佳实践**:在实际开发中,合理组织代码、利用缓存提高性能、避免全局变量污染、使用$...

    jqprint打印js及兼容解决

    2. **使用jQuery.noConflict()**:如果多个JavaScript库在同一页面上使用,可能导致命名冲突。使用`jQuery.noConflict()`模式可以避免这个问题,确保`jqPrint`能正常工作。 3. **CSS媒体查询**:在某些情况下,`...

    javascript实现右下角提示框,支持最小化,最大化,关闭,消息多条翻页。。。完整可运行!项目中测得通过!

    javascript实现右下角提示框,支持最小化,最大化,关闭,消息多条翻页。。。完整可运行!项目中测得通过! 在页面中直接引用该JS即可。用到了jquery.需要引用jquery支持包...var $j = jQuery.noConflict(); &lt;/script&gt;

Global site tag (gtag.js) - Google Analytics