Skip to content

Instantly share code, notes, and snippets.

@wtw24
Last active January 17, 2020 06:54
Show Gist options
  • Save wtw24/32493d402d72d5e1f520d01fbc4ad6e0 to your computer and use it in GitHub Desktop.
Save wtw24/32493d402d72d5e1f520d01fbc4ad6e0 to your computer and use it in GitHub Desktop.
базовый шаблон неймспейсового паттерна jQuery
;(function ( $ ) {
if (!$.myNamespace) {
$.myNamespace = {};
}
$.myNamespace.myPluginName = function ( el, myFunctionParam, options ) {
// Для предотвращения конфликтов контекста
// используем 'base' вместо 'this'
// для дальнейших обращений к объекту из методов и событий
var base = this;
// Объявляем jQuery и DOM версии элемента
base.$el = $(el);
base.el = el;
// Добавим обратную связь к DOM объекту
base.$el.data( "myNamespace.myPluginName" , base );
base.init = function () {
base.myFunctionParam = myFunctionParam;
base.options = $.extend({},
$.myNamespace.myPluginName.defaultOptions, options);
// Тут пишем наш код
};
// Пример функции
// base.functionName = function( paramaters ){
//
// };
// Инициируем плагин
base.init();
};
$.myNamespace.myPluginName.defaultOptions = {
myDefaultValue: ""
};
$.fn.mynamespace_myPluginName = function
( myFunctionParam, options ) {
return this.each(function () {
(new $.myNamespace.myPluginName(this,
myFunctionParam, options));
});
};
})( jQuery );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment