Я пытаюсь написать «хорошую» структуру плагина jQuery. Я пытаюсь следовать «лучшим практикам» от jQuery.com и других.Лучшая конструкция плагина jQuery?
Но я немного запутался в прототипе.
Должен ли я использовать его или нет? И действительно ли структура выглядит хорошо или ужасно?
Спасибо!
(function($){
var defaults = { /* ... */ },
publicMethods = {
add: function(options){
var $this = $(this);
// ...
return $this;
}
},
privateMethods = {
init: function(options) {
var $this = $(this);
return $this;
},
click: function() {
//...
}
};
$.fn.tooltip = function(method) {
var args = arguments;
$(this).each(function() {
if (publicMethods[method]) {
return publicMethods[ method ].apply(this, Array.prototype.slice.call(args, 1));
} else if (typeof method === 'object' || ! method) {
return privateMethods.init.apply(this, args);
} else {
$.error('Method ' + method + ' does not exist on jQuery.tooltip');
}
});
};
})(jQuery);
* «Я немного запутался в прототипе». * С чем вы смущены? Единственное место, где вы его используете, вы используете его только как средство доступа к методу '.slice(). Если вы следуете «лучшим практикам», то есть ли какая-то причина, по которой вы думаете, что ваш код будет ужасным? –
О, нет, я просто говорю о структуре кода! Недавно я обнаружил «прототип», поэтому мой вопрос в том, должен ли я по-прежнему использовать «метод вызова логики $ .fn.tooltip ...» или вместо этого использовать прототипы? – macpie
Если это вам поможет http://heera.it/patterns-in-jquery-plugin-writin –