我正在尝试编写一个可以捕获onkeyup事件的网页。
每次使用document.write("...");
打印密钥代码。
然而它只能工作一次,第二次使用它时,窗口不会更新。
以下是代码:
document.onkeyup = function checkKeys(event) {
var keyCode = event.which || event.keyCode;
document.write(keyCode);
};
为什么这只能抓住一次事件?
答案 0 :(得分:3)
Don't use document.write()
。它正在擦除页面,以及onkeyup处理程序。在页面上创建一个元素并更新元素的内容。
document.onkeyup = function checkKeys(event) {
var keyCode = event.which || event.keyCode;
document.getElementById( 'results' ).innerText = keyCode;
};
HTML:
<div id="results"></div>
答案 1 :(得分:2)
document.write(keyCode);
每次都使用新的密钥代码覆盖页面,您需要附加到文档,最好是页面上的div:
<div id="keyupDiv"></div>
document.getElementById("keyupDiv").innerHTML += keyCode;