Программисты Html
Anonymous
Захват табуляции с помощью textArea приводит к тому, что ловушка покидает контейнер
Сообщение
Anonymous » 30 дек 2025, 21:14
Я выполняю захват фокуса с помощью клавиши табуляции, и когда я выхожу из текстовой области, табуляция покидает контейнер. Если вместо этого я использую ввод, то захват фокуса работает... Есть идеи, почему захват фокуса не работает с 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();
}
});
Подробнее здесь:
https://stackoverflow.com/questions/798 ... -container
1767118446
Anonymous
Я выполняю захват фокуса с помощью клавиши табуляции, и когда я выхожу из текстовой области, табуляция покидает контейнер. Если вместо этого я использую ввод, то захват фокуса работает... Есть идеи, почему захват фокуса не работает с textarea? [code]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(); } });[/code] [code] Special Instructions [/code] Подробнее здесь: [url]https://stackoverflow.com/questions/79857731/tab-focus-trapping-with-textarea-causes-trap-to-leave-container[/url]