Захват табуляции с помощью textArea приводит к тому, что ловушка покидает контейнерJavascript

Форум по Javascript
Anonymous
Захват табуляции с помощью textArea приводит к тому, что ловушка покидает контейнер

Сообщение Anonymous »

Я выполняю захват фокуса с помощью клавиши табуляции, и когда я выхожу из текстовой области, табуляция покидает контейнер. Если вместо этого я использую ввод, то захват фокуса работает... Есть идеи, почему захват фокуса не работает с textarea?

Код: Выделить всё

const container = document.getElementById("SpecialInstructionsWindow");

const getFocusables = () => {
return Array.from(
container.querySelectorAll(`textarea:not([disabled]), button:not([disabled]`)
).sort((a, b) =>
(a.dataset.focusOrder ?? 9999) - (b.dataset.focusOrder ?? 9999)
);
};

container.addEventListener("keydown", (e) => {
if (e.key !== "Tab") return;

const focusables = getFocusables();
if (focusables.length === 0) return;

const first = focusables[0];
const last = focusables[focusables.length - 1];

// TAB (forward)
if (!e.shiftKey && document.activeElement === last) {
first.focus();
e.preventDefault();
}
});

Код: Выделить всё




Special Instructions












Подробнее здесь: https://stackoverflow.com/questions/798 ... -container

Вернуться в «Javascript»