尝试使用键事件

时间:2015-07-19 19:07:37

标签: javascript input keyevent

我试图按输入字段中的某个键来模拟字段中的输入,但是我按下的键没有显示出来。

我尝试先设置一个键事件,然后将其发送到输入字段。它似乎在事件正确触发方面起作用,除了我按下的键没有出现在输入字段中。

为什么我按下的键不会显示在字段中,就像我输入的那样?

<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>

0 个答案:

没有答案