我在考虑按下键时反复触发onkeypress属性。这通常是正确的,但是当我尝试添加具有此属性的新段落时,它有时不起作用。你能解释一下为什么第二个代码不能像第一个代码那样工作吗?使用onkeypress属性添加新段落
这是第一个代码来测试按键属性:
<!DOCTYPE html>
<html>
<head>
<title>Keypress</title>
</head>
<body>
<input type="text" maxlength="1" onkeypress="keypress_example()">
<div id="message">
</div>
<script>
function keypress_example(){
var newPar = document.createElement('p');
newPar.textContent= "Key is being pressed";
document.getElementById("message").appendChild(newPar);
}
</script>
</body>
</html>
它作为intented。
<!DOCTYPE html>
<html>
<head>
<title>Keypress</title>
</head>
<body>
<input type="text" maxlength="1" onkeypress="keypress_example()" onkeydown="keydown_example()">
<div id="message">
</div>
<script>
function keydown_example(){
document.getElementById("message").innerHTML = "A key was pressed";
}
function keypress_example(){
var newPar = document.createElement('p');
newPar.textContent= "A key is being pressed";
document.getElementById("message").appendChild(newPar);
}
</script>
</body>
</html>
如果您对这个代码做同样首先将keydown事件触发一次,之后的按键事件触发一次,但它不是一次又一次触发:当我还添加了一个onkeydown事件属性的问题开始。这是什么原因?
难道是因为你没有搜索onkeyup事件,所以一旦按下了初始键,就是脚本而不是搜索另一个,因为逻辑上它仍然被按下? – 2014-10-31 12:16:09