我已经阅读了几篇关于最佳 jquery 插件模式的文章,包括官方文档 -
http://coding.smashingmagazine.com/2011/10/11/essential-jquery-plugin-patterns/
https://github.com/jquery-boilerplate/patterns/
http://docs.jquery.com/Plugins/Authoring
但仍然无法决定什么是最适合我的需求,也许有人会建议。
我需要从现在内部的函数中创建一个公共方法。
目前我正在使用基本的插件结构:
(function ($) {
$.fn.plugin = function (options) {
var defaults = {
someoption: true
};
options = $.extend(defaults, options);
return this.each(function () {
// all logic goes here...
if (options.someoption) {
mainMethod();
}
function mainMethod () {
// main method bla bla..
// also calls in certain circumstances this func:
somePublicMethod();
}
function somePublicMethod () {
// AND this method should be accessible like:
// $('elem').plugin('somePublicMethod');
}
});
};
})(jQuery);
这个somePublicMethod()
函数应该可以像$('elem').plugin('somePublicMethod');
你有想法吗?