Компоненты
Блокировка фокуса
Лок фокуса состоит из одного файла 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 |
Устанавливается на элемент который должен попасть в фокус, если не установлен то в фокус попадает первый фокусируемый элемент в переданном родителе |
---|
Блокируемая секция