Компоненты

Блокировка фокуса

Скачать компонент

Лок фокуса состоит из одного файла focus-lock.js он обязателен для переноса в проект, из файла экспортится класс FocusLock, в файле создаётся экземпляр класса и записывается в глобальную область видимости window.focusLock = new FocusLock();

В проекте пользуйтесь глобальной переменной window.focusLock

В классе есть два публичных метода

lock(lockedSelector)

Принимает селектор родителя. Если внутри родителя нет фокусируемых элементов то при нажатии на клавишу #b[tab] или сочетание shift + tab действие по умолчанию будет отменено. Если внутри родителя есть только один фокусируемый элемент то при нажатии на клавишу tab или сочетание shift + tab фокус с него уходить не будет. Нам не всегда нужно что бы при блоке фокуса в блокируемом блоке какой-либо элемент сразу попадал в фокус, поэтому вторым параметром можно передать false lock(lockedSelector, false)

unlock()

Возвращает стандартное поведение фокуса и возвращает его в тот элемент на котором он был до блокировки фокуса, если вам не требуется такое поведение то аргументом нужно передать false

Не обязательные дата атрибуты

data-focus

Устанавливается на элемент который должен попасть в фокус, если не установлен то в фокус попадает первый фокусируемый элемент в переданном родителе

Блокируемая секция