Есть вопрос уточнение для детального понимания события клавиши.
Подскажите, если мы запускаем такой код
<input onkeydown="this.nextElementSibling.innerHTML=this.value" type="text" placeholder="Вводите символы">
<b></b>
То только после второго нажатия начинаем видеть результат.
Но если мы запустим такой код
<input onkeydown="this.nextElementSibling.innerHTML= e.key" type="text" placeholder="Вводите символы">
<b></b>
То все сработает сразу.
У меня есть предположение, что при первом варианте, значение еще не успело записаться, в input
. То есть запись в элемент происходит после срабатывания события.
Хотел узнать у более опытных так ли это?
input.addEventListener('keydown', () => {
console.log('Нажали, но не отпустили: ' + input.value);
});
input.addEventListener('keyup', () => {
console.log('Отпустили: ' + input.value);
});
<input id='input' onkeydown="this.nextElementSibling.innerHTML=this.value" type="text" placeholder="Вводите символы">
<b></b>
Так происходит, потому что на момент нажатия value элемента пустой.
Второй пример работает, потому что он возвращается значение нажатой кнопки, которое в момент нажатия(но ещё не отпустили) известно. Ему всё равно, что находится в value
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как реализовать составление расписание тренера и запись клиента к этому тренеру на определённое время, учитывая, что 2 клиента не могут записаться...
С#/PascalABCNET - Как программно запустить стороннюю консольную программу и отправить ей команду так, чтобы она не закрывалась, а оставалась открытой...
У меня появилась потребность перетаскивания UserContol по родительскому Grid'yЗаметил что при перетаскивании контрола появляется задержка визуализации,...
Есть проект библиотеки в котором необхдимо хранить XML файлСтруктура такова: