Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试使用按键事件按输入字段中的按键_Javascript_Input_Keyevent - Fatal编程技术网

Javascript 尝试使用按键事件按输入字段中的按键

Javascript 尝试使用按键事件按输入字段中的按键,javascript,input,keyevent,Javascript,Input,Keyevent,我试图在输入字段中按一个键来模拟在字段中键入,但我按的键没有显示出来 我尝试先设置一个键事件,然后将其分派到输入字段。就事件正确触发而言,它似乎工作正常,但输入字段中未显示按键I 为什么我按下的键没有显示在字段中,就像我键入的一样 <html> <body> <input type=button onClick=doit() value=clickme> <input type=text id="texty" value="foo"

我试图在输入字段中按一个键来模拟在字段中键入,但我按的键没有显示出来

我尝试先设置一个键事件,然后将其分派到输入字段。就事件正确触发而言,它似乎工作正常,但输入字段中未显示按键I

为什么我按下的键没有显示在字段中,就像我键入的一样

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

函数simulateKeyEvent(字符){
var evt=document.createEvent(“KeyboardEvent”);
evt.initKeyEvent(“按键”,真,假,窗口,
0, 0, 0, 0,
0,character.charCodeAt(0));
textfield.dispatchEvent(evt);
}
textfield=document.getElementById(“texty”);
函数doit(){
textfield.value=“bar”;
textfield.focus();
模拟眼事件(“A”);
模拟眼喷口(“B”);
模拟眼喷口(“C”);
}
函数myFunction(事件){
keynum=event.which;
警报(“您按下了一个键”+String.fromCharCode(keynum));
}

不,它不是该版本的副本。他不想操纵克里普斯,他想生成一个。你可以让事件处理程序将字符附加到字段值。我尝试在不使用javascript更改值的情况下输入字符,因为网站只在有人实际按下字段中的键时进行验证。这不是这些问题的重复。不,这不是该问题的重复。他不想操纵克里普斯,他想生成一个。你可以让事件处理程序将字符附加到字段值。我尝试在不使用javascript更改值的情况下输入字符,因为网站只在有人实际按下字段中的键时才进行验证。这不是这些问题的重复。