Согласно документации разработчика, плагины jquery должны иметь только одно пространство имен для всех доступных им функций. Это просто, если вы предоставляете только одну функцию для контекста (статический / элемент).
(function($){
var
state_a = 0,
$.myplugin = function(in_options) {
// static
return this;
}
$.fn.myplugin = function(in_options) {
// element
return this;
}
})(jQuery);
Это делает такие звонки возможными:
$("elem").myplugin(options);
jQuery.myplugin(options);
Каков наилучший подход, если у вас более одной функции и вам нужно совместно использовать состояние? Я хотел бы позвонить в мой плагин, как это:
$("elem").myplugin.start(options);
$("elem").myplugin.stop();
jQuery.myplugin.start(options);
jQuery.myplugin.stop();