0

我正在尝试编写一个可以捕获 onkeyup 事件的网页。

它用于document.write("...");每次打印键码。

但是它只能工作一次,我第二次使用它时,窗口不会更新。

这是代码:

document.onkeyup = function checkKeys(event) {
    var keyCode = event.which || event.keyCode;
    document.write(keyCode);
};

为什么这只捕获一次事件?

4

2 回答 2

3

不要使用document.write(). 它与 onkeyup 处理程序一起清除页面。在页面上创建一个元素并更新元素的内容。

document.onkeyup = function checkKeys(event) {
    var keyCode = event.which || event.keyCode;
    document.getElementById( 'results' ).innerText = keyCode;
};

HTML:

<div id="results"></div>
于 2013-10-17T14:36:06.537 回答
2

document.write(keyCode);每次都用新的键码覆盖页面,您需要附加到文档,最好是页面上的 div:

<div id="keyupDiv"></div>

document.getElementById("keyupDiv").innerHTML += keyCode; 
于 2013-10-17T14:36:19.097 回答