最新的Web开发教程
 

jQuery - noConflict() Method


如果你想在网页上使用其他框架,而仍然使用jQuery?


jQuery和其他JavaScript框架

正如你已经知道了; jQuery的使用$符号作为jQuery的快捷方式。

还有许多其他流行的JavaScript框架,如: Angular, Backbone, Ember, Knockout ,等等。

如果其他JavaScript框架也使用$符号作为快捷方式?

如果两个不同的框架是使用相同的快捷方式,其中一人可能会停止工作。

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的代码块$快捷方式,你不希望改变这一切,你可以通过$注册作为参数传递给准备方法。 这允许您使用jQuery访问$ ,这里面的功能-它之外,你将不得不使用“jQuery的”:

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

jQuery的其它参考

对于所有的jQuery其它方法的完整概述,请访问我们的jQuery杂项参考