Несомненно, современные библиотеки JavaScript, такие как Mootools, jQuery, обладают огромным количеством функциональности, что делает их крайне привлекательными для разработчиков. Однако стоит отметить и тот факт, что для множества разработчиков такое количество функций гораздо больше того, что нужно. Ведь согласитесь, не везде и не всегда используются, к примеру эффекты затенения, плавного открытия панелей и другие бубенчики и свистульки jQuery, хотя все они добавляются при подключении этой библиотеки (размер 50+ Кб в минимизированном виде и около 25Кб запакованный паккером).
Изменить такое положение вещей решил Роберт Ниман, который создал замечательную и очень маленькую библиотеку dLite (4,2 Кб), которая, как швейцарский нож, включает в себя джентельменский набор функций, которые способны выполнять следующие операции:
- Получение ссылок на элементы DOM.
- Выполнение событий при полной загрузке документа DOM. Аналог $.ready() в jQuery.
- Получение ссылок на элементы по имени класса.
- Добавление и удаление элементов.
- Добавление/удаление классов элементов.
- Отмена захвата событий и действий по умолчанию для элементов.
Как видите, вся выше перечисленная функциональность используется практически всеми программистами при создании скриптов.
Полный список функций библиотеки:
- elm – получение элемента по ID:
var container = elm(”container”); - elmsByClass – получение элементов по имени класса:
var externalLinks = elmsByClass(”external”, a); - DOMReady – выполнение событий при полной загрузке DOM:
DOMReady(runAtDOMLoad); - addClass – добавление класса к элементу:
addClass(elm(”container”), “active”); - removeClass – удаление класса:
removeClass(elm(”container”), “active”); - addEvent – добавление обработчика событий (слушателя) к элементу:
addEvent(elm(”container”), “click”, handleClick); - removeEvent – удаление обработчика событий:
removeEvent(elm(”container”), “click”, handleClick); - stopDefault – отмена действий по умолчанию для элементов (например ссылок):
stopDefault(evt); - cancelBubbling – остановка захвата событий (bubbling):
cancelBubbling(evt);
Мне кажется, такая библиотека будет полезна разработчикам, которым нужно всего лишь несколько полезных функций решающих общие задачи программирования в JavaScript, и которые не хотят отяжелять свои скрипты бременем ненужной функциональности.
