Единственное задание имени плагина в шаблоне
Возможно кто-то сталкивался с проблемой.
Пишу шаблон для создания плагинов 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, время: 12:51. |