У меня есть код, который предполагает, чтобы обновить число оставшихся символов осталось, когда пользователь в
text input
. Код запускается с использованием событияkeypress
. Проблема заключается в том, что код запущен только послеkeypress
. Почему это происходит?Javascript события нажатия клавиши и e.keycodeУ меня есть код, чтобы показать ключ ASCII кода, но символ всегда показывает 8 и показывает, когда я нажимаю забой. И как использовать метод
String.fromCharCode(event.keycode} ;
.Почему параметр
event
добавлен вfunction
? Какe.keycode
знает, что отображаетсяkeycode
пользователя пользователя..
Пример кода
HTML
<div id="page">
<h1>List King</h1>
<form id="messageForm">
<h2>My profile</h2>
<textarea id="message"></textarea>
<div id="charactersLeft">180 characters</div>
<div id="lastKey"></div>
</form>
</div>
JavaScript
var el; // Declare variables
function charCount(e) { // Declare function
var textEntered, charDisplay, counter, lastkey; // Declare variables
textEntered = document.getElementById('message').value; // User's text
charDisplay = document.getElementById('charactersLeft'); // Counter element
counter = (180 - (textEntered.length)); // Num of chars left
charDisplay.textContent = counter; // Show chars left
lastkey = document.getElementById('lastKey'); // Get last key used
lastkey.textContent = 'Last key in ASCII code: ' + e.keyCode; // Create msg
}
el = document.getElementById('message'); // Get msg element
el.addEventListener('keypress', charCount, false); // keypress -call charCount()
1-й вопрос не является проблемой, он работает с 'keyup', у вас есть определенная причина. Не говорите, что это происходит из другого места, покажите его в вашем коде. @ Gabin – CoDINGinDARK
Я скопировал и вставил ваш код в [jsfiddle] (http://jsfiddle.net/yj1pj18o/). Откройте консоль и введите ввод. Как вы увидите, 'keypress' запускается каждый раз, когда вы нажимаете клавишу. – Gabin
Я печатаю символ, который он не срабатывает, и следующий символ, который я набираю, загорается. В том смысле, что я набираю 1 символ, ничего не происходит. Затем я набираю другой символ (поэтому я набрал 2 символа) после того, как я набрал в своем втором символе событие огни и шоу (_180-1character_) осталось 179 символов вместо 178 символов. – CoDINGinDARK