我正在写一个应用程序在使用jQuery的那一刻。它适用于使用原型的现有应用程序,所以显然我不能立即使用美元符号。JQuery - 没有冲突或关闭
我一直在使用noconflict来解决这个问题,但想不出我只是换我传递的jQuery封闭内整个脚本,如:
(function($){
})(jQuery);
这似乎是工作,但如果有任何后果我想知道对此?
我正在写一个应用程序在使用jQuery的那一刻。它适用于使用原型的现有应用程序,所以显然我不能立即使用美元符号。JQuery - 没有冲突或关闭
我一直在使用noconflict来解决这个问题,但想不出我只是换我传递的jQuery封闭内整个脚本,如:
(function($){
})(jQuery);
这似乎是工作,但如果有任何后果我想知道对此?
这应该可以正常工作,因为您将jQuery作为jQuery对象本身传递给闭包。
尽管应该仍然指定noConflict,否则jQuery对象可以控制美元符号。调用noConflict会将美元符号传递回已经使用它的任何东西。
的文件表明,这太:
$.noConflict();
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
这会像一个魅力,只要你不需要访问的块中定义的变量。
Jquery插件通常使用这个精确的屏蔽结构进行编码。
如果可以,请使用它来代替noConflict,因为noConflict会强制您更加注意页面中的脚本排序。
您将需要在jquery之后加载原型,以便它可以获取$符号的所有权。
您可以同时使用:
(function($){
})(jQuery.noConflict());