我试图按输入字段中的某个键来模拟字段中的输入,但是我按下的键没有显示出来。
我尝试先设置一个键事件,然后将其发送到输入字段。它似乎在事件正确触发方面起作用,除了我按下的键没有出现在输入字段中。
为什么我按下的键不会显示在字段中,就像我输入的那样?
<html>
<body>
<input type=button onClick=doit() value=clickme>
<input type=text id="texty" value="foo" onkeypress="myFunction(event)">
</body>
</html>
<script>
function simulateKeyEvent(character) {
var evt = document.createEvent("KeyboardEvent");
evt.initKeyEvent("keypress", true, false, window,
0, 0, 0, 0,
0, character.charCodeAt(0));
textfield.dispatchEvent(evt);
}
textfield = document.getElementById("texty");
function doit(){
textfield.value="bar";
textfield.focus();
simulateKeyEvent("A");
simulateKeyEvent("B");
simulateKeyEvent("C");
}
function myFunction(event) {
keynum = event.which;
alert("You pressed a key"+String.fromCharCode(keynum));
}
</script>