javascript42
Главная
Все учебники
Блог
Учебник Umbrella JS
Введение
Что такое Umbrella JS
История создания и философия библиотеки
Сравнение с jQuery и vanilla JavaScript
Когда стоит использовать Umbrella JS
Установка и подключение
Первая программа на Umbrella JS
Структура документации
Основы работы с Umbrella JS
Объект u() и его назначение
Синтаксис выборки элементов
Цепочки методов
Контекст выполнения
Работа с коллекциями элементов
Методы .each() и .map()
Возврат к нативным элементам DOM
Проверка существования элементов
Селекторы и выборка элементов
CSS-селекторы в Umbrella JS
Выборка по идентификатору
Выборка по классу
Выборка по тегу
Комбинированные селекторы
Псевдоклассы и псевдоэлементы
Выборка из контекста
Фильтрация выбранных элементов
Манипуляция DOM-деревом
Создание новых элементов
Вставка элементов: .append() и .prepend()
Методы .before() and .after()
Замена элементов
Удаление элементов из DOM
Клонирование элементов
Перемещение элементов
Работа с фрагментами документа
Навигация по DOM
Поиск родительских элементов
Поиск дочерних элементов
Навигация между соседними элементами
Метод .find() для вложенного поиска
Метод .closest() для поиска вверх по дереву
Получение конкретного элемента из коллекции
Определение позиции элемента
Работа с атрибутами
Чтение атрибутов
Установка атрибутов
Удаление атрибутов
Атрибут data и работа с ним
Булевы атрибуты
Множественная установка атрибутов
Атрибуты форм
Управление классами
Добавление классов
Удаление классов
Переключение классов
Проверка наличия класса
Работа с несколькими классами одновременно
Замена классов
Стилизация элементов
Чтение inline-стилей
Установка inline-стилей
Удаление стилей
Работа с несколькими стилями
Вычисляемые стили
Единицы измерения в стилях
Vendor-префиксы
Работа с содержимым элементов
Чтение и установка текстового содержимого
Работа с HTML-содержимым
Разница между text и html
Безопасность при вставке HTML
Очистка содержимого элементов
Работа со значениями полей форм
Обработка событий
Базовый синтаксис привязки событий
Метод .on() и его параметры
Отвязка событий методом .off()
Делегирование событий
Объект события
Предотвращение действий по умолчанию
Остановка всплытия событий
Пространства имен для событий
Стандартные события браузера
События мыши
События клавиатуры
События фокуса
События форм
События загрузки документа
События прокрутки
События изменения размера окна
Пользовательские события
AJAX и работа с сервером
Метод .ajax() и его параметры
GET-запросы
POST-запросы
Обработка ответов сервера
Обработка ошибок
Установка заголовков запроса
Отправка JSON-данных
Работа с FormData
Отмена запросов
Таймауты
Анимация и эффекты
Ограничения анимации в Umbrella JS
Использование CSS-переходов
Программное управление CSS-анимациями
Плавное появление и скрытие
Интеграция с внешними библиотеками анимации
Колбэки после завершения анимации
Работа с формами
Получение значений полей
Установка значений полей
Сериализация форм
Валидация на стороне клиента
Отправка форм через AJAX
Работа с чекбоксами и радиокнопками
Работа с select-элементами
Динамическое добавление полей
Размеры и позиционирование
Получение ширины и высоты элемента
Offset-позиция элемента
Позиция относительно родителя
Координаты прокрутки
Размеры окна браузера
Размеры документа
Работа с viewport
Утилиты и хелперы
Проверка типов
Работа с массивами
Слияние объектов
Расширение функциональности
Генерация уникальных идентификаторов
Дебаунсинг и троттлинг
Плагины для Umbrella JS
Архитектура плагинов
Создание собственного плагина
Регистрация методов
Namespace для плагинов
Распространение плагинов
Популярные сторонние плагины
Оптимизация и производительность
Кеширование селекторов
Минимизация обращений к DOM
Пакетные операции
Делегирование событий для производительности
Отложенная загрузка
Профилирование кода
Сравнение производительности с другими библиотеками
Отладка и тестирование
Инструменты разработчика в браузере
Отладка цепочек методов
Логирование и трассировка
Unit-тестирование с Umbrella JS
Интеграционное тестирование
Обработка исключений
Совместимость и полифиллы
Поддержка браузеров
Работа в старых браузерах
Необходимые полифиллы
Обнаружение возможностей браузера
Graceful degradation
Progressive enhancement
Миграция с других библиотек
Переход с jQuery
Таблица соответствия методов
Типичные проблемы при миграции
Постепенная миграция
Совместное использование библиотек
Продвинутые техники
Создание цепочек методов
Расширение прототипа
Работа с Shadow DOM
Интеграция с фреймворками
Модульная архитектура
Паттерны проектирования с Umbrella JS
Безопасность
XSS-атаки и их предотвращение
CSRF-защита
Безопасная работа с пользовательским вводом
Content Security Policy
Валидация данных
Безопасные AJAX-запросы
Сборка и деплой
Подключение через CDN
Установка через npm
Сборка с webpack
Сборка с Rollup
Минификация кода
Source maps
Tree shaking
Справочник API
Полный список методов
Параметры и возвращаемые значения
Примеры использования каждого метода
Совместимость методов