jQuery noConflict() 方法用法实例分析

目录
  • jQuery - noConflict() 方法
    • jQuery 和其他 JavaScript 框架
    • jQuery noConflict() 方法

本文实例讲述了jQuery noConflict() 方法用法。分享给大家供大家参考,具体如下:

jQuery - noConflict() 方法

如何在页面上同时使用 jQuery 和其他框架?

要解决这个问题,只需要使用jQuery中的noConflict()方法,它允许你在同一个页面加载多个jQuery实例,尤其是不同版本的jQuery。

jQuery 和其他 JavaScript 框架

正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写。

如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办?

其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。

其中某些框架也使用 $ 符号作为简写(就像 jQuery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。

jQuery 的团队考虑到了这个问题,并实现了 noConflict() 方法。

jQuery noConflict() 方法

noConflict() 方法会释放对 $ 标识符的控制,这样其他脚本就可以使用它了。

当然,您仍然可以通过全名替代简写的方式来使用 jQuery:

实例

$.noConflict();
jQuery(document).ready(function(){
 jQuery("button").click(function(){
 jQuery("p").text("jQuery is still working!");
 });
});

也可以创建自己的简写。noConflict() 可返回对 jQuery 的引用,您可以把它存入变量,以供稍后使用。请看这个例子:

实例

var jq = $.noConflict();
jq(document).ready(function(){
 jq("button").click(function(){
 jq("p").text("jQuery is still working!");
 });
});

如果你的 jQuery 代码块使用 $ 简写,并且您不愿意改变这个快捷方式,那么您可以把 $ 符号作为变量传递给 ready 方法。这样就可以在函数内使用 $ 符号了 - 而在函数外,依旧不得不使用 "jQuery":

实例

$.noConflict();
jQuery(document).ready(function($){
 $("button").click(function(){
 $("p").text("jQuery is still working!");
 });
});

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery页面元素操作技巧汇总》、《jQuery常见事件用法与技巧总结》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

(0)

相关推荐

  • 轻松搞定jQuery.noConflict()

    jQuery是目前使用最广泛的前端框架之一,有大量的第三方库和插件基于它开发.为了避免全局命名空间污染,jQuery提供了jQuery.noConflict()方法解决变量冲突.这个方法,毫无疑问,非常有效.遗憾的是,jQuery的官方文档对该方法的描述不够清晰,许多开发者并不清楚当他们调用jQuery.noConflict()时,究竟发生了什么,从而导致在使用时出现了许多问题.尽管如此,jQuery.noConflict()背后实现原理依然值得Web开发者学习掌握,成为解决类似全局命名空间污染

  • 学习jQuery中的noConflict()用法

    noConflict() jQuery使用$符号,作为jQuery的简写 JavaScript框架包括:MooTools.Backbone.Sammy.Cappuccino.Knockout.JavaScriptMVC.GoogleWebToolkit.GoogleClosure.Ember.Batman以及ExtJS等等 其中一些框架也使用$符号作为简写 如果,用的两种不同的框架,使用相同的简写符号,可能导致脚本停止运行 为此,jQuery提供了noConflict()方法 释放标识符 会释放

  • 『jQuery』名称冲突使用noConflict方法解决

    jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用名为 noConflict() 的方法来解决该问题. var jq=jQuery.noConflict(),帮助使用自己的名称(比如 jq)来代替 $ 符号. 复制代码 代码如下: <html> <head> <script type="text/javascript" src=&quo

  • jQuery用noConflict代替$的实现方法

    js框架很多的情况下,很容易出现冲突,建议使用noConflict代替$ //消除$对jquery缩写 $.noConflict(); //使用了noConflict后,用$就会无效,应用jQuery jQuery(document).ready(function(){ console.log("sdf"); }) 也可以指定新的代替jQuery的名称 var myjq=$.noConflict(); myjq(document).ready(function(){ console.l

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

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

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

    jQuery是目前使用最广泛的前端框架之一,有大量的第三方库和插件基于它开发.为了避免全局命名空间污染,jQuery提供了jQuery.noConflict()方法解决变量冲突.这个方法,毫无疑问,非常有效.遗憾的是,jQuery的官方文档对该方法的描述不够清晰,许多开发者并不清楚当他们调用jQuery.noConflict()时,究竟发生了什么,从而导致在使用时出现了许多问题.尽管如此,jQuery.noConflict()背后实现原理依然值得Web开发者学习掌握,成为解决类似全局命名空间污染

  • jQuery中noConflict()用法实例分析

    本文实例讲述了jQuery中noConflict()用法.分享给大家供大家参考.具体分析如下: jQuery默认使用"$"操作符,$ 符号只是 window.jQuery 对象的一个引用,jQuery.noConflict() ,这个函数将变量$的控制权让渡给第一个实现它的那个库.这有助于确保jQuery不会与其他库的$对象发生冲突.在运行这个函数后,就只能使用jQuery变量访问jQuery对象.例如,在要用到$("div p")的地方,就必须换成jQuery(&

  • jQuery中 noConflict() 方法使用

    jQuery 和其他 JavaScript 框架正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写. 如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办? 其他一些 JavaScript 框架包括:MooTools.Backbone.Sammy.Cappuccino.Knockout.JavaScript MVC.Google Web Toolkit.Google Closure.Ember.Batman 以及 Ext JS. 其中某些框架也使用 $ 符号

  • 避免jQuery名字冲突 noConflict()方法

    众所周知,在jQuery语法中,$符号是jQuery的简写方式.但在某些情况下,可能需要在同一个页面引入其他javascript库(比如Prototype).因为$简短方便,很多的库也是使用$符号.为了避免名称冲突,jQuery提供了noConflict()方法来解决这个问题.调用该方法可以把对$标识符的控制权让给其他库. 一般模式: <script src="prototype.js"></script>//1.包含jQuery之外的库(比如Prototype

  • jQuery中noconflict函数的实现原理分解

    jQuery中,noconflict是用来防止变量冲突,用来释放变量控制权的一个重要方法.我们知道,jQuery中对外提供有两个全局变量,$和jQuery,虽然jQuery只产生了两个全局变量,极少情况下才会出现冲突,但是如果网页中如果包涵较多的类库,有自定义$或jQuery全局变量的存在时,就产生冲突. jQuery提供的noconflict函数很好的解决了变量冲突问题,无论是$或者jQuery冲突都可以解决,接下来我们就来分析一下jQuery的冲突处理. 先来看一下jQuery源码中noco

随机推荐