Почему следующее текстовое поле было запущено после того, как я нажал кнопку Enter и сосредоточился на следующем текстовJquery

Программирование на jquery
Anonymous
Почему следующее текстовое поле было запущено после того, как я нажал кнопку Enter и сосредоточился на следующем текстов

Сообщение Anonymous »

У меня есть список текстового поля и кнопки:

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

Please type Enter to move to the next element


Confirm






Моя цель: когда я нажимаю Enter в текстовом поле или кнопке, фокус будет на следующем элементе. Но с помощью кнопки, когда я нажимаю Enter, она переходит к следующему элементу, и этот элемент продолжает вызывать событие нажатия клавиши (Enter) и переходить к следующему.

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

const selects = document.querySelectorAll('.item');
selects.forEach(el => el.addEventListener('keyup', e => {
if (e.key === 'Enter' || e.keyCode === 13) {
let idx = parseInt(e.currentTarget.getAttribute("index"));
focusToTheNextControl(idx);
}
}));
document.querySelector('.btn-item').addEventListener('click', e => {
let idx = parseInt(e.currentTarget.getAttribute("index"));
focusToTheNextControl(idx);
});
function focusToTheNextControl(idx) {
document.querySelector("#item-" + (idx + 1)).focus();
}

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

const selects = document.querySelectorAll('.item');
selects.forEach(el => el.addEventListener('keyup', e => {
if (e.key === 'Enter' || e.keyCode === 13) {
let idx = parseInt(e.currentTarget.getAttribute("index"));
focusToTheNextControl(idx);
}
}));

document.querySelector('.btn-item').addEventListener('click', e => {
let idx = parseInt(e.currentTarget.getAttribute("index"));
focusToTheNextControl(idx);
});

function focusToTheNextControl(idx) {
document.querySelector("#item-" + (idx + 1)).focus();
}

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

Please type Enter to move to the next element


Confirm







Я пытаюсь отложить фокус на следующем элементе, используя setTimeout через 1 секунду и оно останавливается. Я понятия не имею, как это работает и как правильно это остановить.
Спасибо за помощь.

Подробнее здесь: https://stackoverflow.com/questions/792 ... button-and

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