javascript42
Главная
Все учебники
Блог
Учебник Bliss.js
Введение в Bliss.js
Что такое Bliss.js
История создания и философия библиотеки
Сравнение с jQuery и vanilla JavaScript
Установка и подключение
Первая программа на Bliss.js
Основы работы с DOM
Селекторы и выбор элементов
Метод $() и его возможности
Работа с коллекциями элементов
Цепочки вызовов (chaining)
Контекст выполнения
Создание и модификация элементов
Создание новых элементов через $.create()
Добавление элементов в DOM
Удаление элементов
Клонирование элементов
Замена элементов
Атрибуты и свойства
Работа с HTML-атрибутами
Управление data-атрибутами
Свойства элементов
Различия между атрибутами и свойствами
Batch-операции над атрибутами
Классы и стили
Добавление и удаление классов
Переключение классов
Проверка наличия классов
Inline-стили через $.style()
Вычисляемые стили
Работа с CSS-переменными
События
Привязка обработчиков событий
Делегирование событий
Удаление обработчиков
Пользовательские события
Объект события и его свойства
Всплытие и перехват событий
Метод $.fire() для триггеров
Содержимое элементов
Текстовое содержимое
HTML-содержимое
Работа с value у форм
Вставка контента в разные позиции
Очистка содержимого
Перемещение по DOM
Поиск родителей
Поиск потомков
Навигация по соседним элементам
Метод $.closest()
Метод $.find()
Фильтрация коллекций
Формы и пользовательский ввод
Получение значений полей
Установка значений
Работа с checkbox и radio
Работа с select
Сериализация форм
Валидация форм
AJAX и сетевые запросы
Метод $.fetch()
GET-запросы
POST-запросы
Обработка ответов
Работа с JSON
Обработка ошибок
Загрузка файлов
Утилиты и хелперы
Метод $.type()
Работа с массивами
Работа с объектами
Метод $.extend()
Метод $.merge()
Преобразование типов
Утилиты для строк
Делегированные свойства
Концепция делегирования
Live collections
Автоматическая синхронизация
Создание собственных делегированных свойств
Hooks и расширения
Что такое hooks в Bliss
Встроенные hooks
Создание собственных hooks
Расширение функционала библиотеки
Плагины для Bliss.js
Производительность
Оптимизация селекторов
Кеширование элементов
Минимизация reflow и repaint
Batch-обновления DOM
Сравнение производительности с другими библиотеками
Продвинутые техники
Работа с DocumentFragment
Shadow DOM
Шаблонизация через Bliss
Реактивность и привязка данных
Компонентный подход
Асинхронность
Промисы в Bliss.js
Async/await с методами библиотеки
Последовательные и параллельные запросы
Отмена запросов
Анимации и переходы
CSS-переходы через JavaScript
Управление анимациями
Callback после завершения анимации
Плавная прокрутка
Метод $.transition()
Работа с медиа
Загрузка изображений
Preloading ресурсов
Работа с canvas
Работа с видео и аудио
Доступность
ARIA-атрибуты
Управление фокусом
Клавиатурная навигация
Семантическая разметка
Отладка и тестирование
Инспектирование элементов
Логирование операций
Юнит-тесты для кода на Bliss
Интеграционное тестирование
Распространенные ошибки и их решения
Интеграция с фреймворками
Использование с React
Использование с Vue
Использование с Angular
Гибридные подходы
Когда стоит и не стоит использовать Bliss
Миграция и совместимость
Переход с jQuery на Bliss
Переход с vanilla JS на Bliss
Обратная миграция
Поддержка браузеров
Полифиллы и фоллбэки
Практические паттерны
Модульная архитектура
Singleton-паттерн
Observer-паттерн
MVC с Bliss.js
Управление состоянием
Безопасность
XSS и защита от инъекций
Санитизация пользовательского ввода
Content Security Policy
Безопасная работа с innerHTML
Справочник API
Полный список методов
Параметры и возвращаемые значения
Совместимость версий
Устаревшие методы