每当我看到这样的jQuery插件时:
(function($) {
$.fn.example = function(options) {
return this.each(function() {
return 'Example!';
});
}
})(jQuery);
我想知道包装功能:
(function($) {
// ...
})(jQuery);
有必要吗?如果是,为什么?如果没有,有哪些替代方案/优势?
解决方法:
这样做是为了确保插件在自己的范围内并且不会干扰任何事情.
很多库使用$作为它们的快捷方式,所以我们传递jQuery并将其指定为$以确保它不会干扰.
jQuery在他们的文档中解释了它的用法:http://docs.jquery.com/Plugins/Authoring