Единственное задание имени плагина в шаблоне
Возможно кто-то сталкивался с проблемой.
Пишу шаблон для создания плагинов jQuery. Имя плагина много где используется: 1. Непосредственно само добавление в пространство имен $.fn; 2. Объявление и удаление пространства имен событий; 3. Добавление и удаление пространства имен data; и т.д. Дополнительные сложности: 1. Хочется проверять, что данное имя уже не пересекается с другими плагинами и, что плагин не подключен на странице дважды. 2. Чтобы IDE (Idea) определяла в других js-файлах, что имя такое существует, если просто написать $.fn[pluginName] = ... то она будет считать, что функции $().pluginName() нет (т.е. подчеркивать в исходниках) 3. Главное хочется, чтобы имя плагина задавалось минимальное число раз, в идеале 1, и не нужно было искать по всему шаблону "где еще переименовать". Пока пришел вот к такой конструкции с двумя определениями "delayKeyup"
var name = 'delayKeyup';
$.fn. delayKeyup = !(name in $.fn) ? {} : (function(){throw new Error('Plugin name ' + name + ' already reserved or you try iteratively connect plugin');})();
(function install(pluginName) {
$.fn[pluginName] = ...
})(name);
Может быть кто-то сталкивался с более элегантным решением? |
| Часовой пояс GMT +3, время: 15:12. |