【发布时间】:2015-04-11 10:38:05
【问题描述】:
我有一个代码,当用户输入
text input时,它会更新剩余字符数。代码使用keypress事件触发。问题是代码仅在 2keypress之后触发。为什么会这样?我有一个代码来显示 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()
【问题讨论】:
标签: javascript html dom-events keypress keycode