jQuery - noConflict() 方法
如果您想在页面上使用其他框架,但仍然使用 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 仍然在工作!");
});
});
自己动手试一试 »
您还可以轻松地创建自己的快捷方式。 noConflict()
方法返回对 jQuery 的引用,您可以将其保存在变量中以备后用。下面是一个示例:
示例
var jq = $.noConflict();
jq(document).ready(function(){
jq("button").click(function(){
jq("p").text("jQuery 仍然在工作!");
});
});
自己动手试一试 »
如果您有一个使用 $
快捷方式的 jQuery 代码块,并且不想全部更改它,您可以将 $
符号作为参数传递给 ready 方法。这允许您在此函数内部使用 $
访问 jQuery — 在函数外部,您必须使用 "jQuery"。
示例
$.noConflict();
jQuery(document).ready(function($){
$("button").click(function(){
$("p").text("jQuery 仍然在工作!");
});
});
自己动手试一试 »
jQuery 杂项参考
有关所有 jQuery 杂项方法的完整概述,请访问我们的 jQuery 杂项参考。