在IE上的文本区域内强制Javascript键盘事件

在IE上的文本区域内强制Javascript键盘事件,javascript,dom-events,keyboard-events,Javascript,Dom Events,Keyboard Events,我试图使用Javascript在文本字段中强制按键。这必须特别适用于IE,但它根本不起作用 有人能帮我吗 我的测试脚本如下: <html> <body> <input type="text" id="txtfld"> <input type="button" onclick="go()"> <script> function go() { var q = document.getElementById

我试图使用Javascript在文本字段中强制按键。这必须特别适用于IE,但它根本不起作用

有人能帮我吗

我的测试脚本如下:

<html>
  <body>
  <input type="text" id="txtfld">
  <input type="button" onclick="go()">
  <script>
    function go() {
      var q = document.getElementById('txtfld');
      q.style.backgroundColor='yellow'; 
      q.focus();

      var evObj = document.createEventObject();
      evObj.keyCode = 84; // [T] key
      q.fireEvent('onkeypress', evObj);
    }
  </script>
  </body>
</html>

函数go(){
var q=document.getElementById('txtfld');
q、 风格。背景颜色='黄色';
q、 焦点();
var evObj=document.createEventObject();
evObj.keyCode=84;//[T]键
q、 fireEvent('onkeypress',evObj);
}

试图通过伪造事件来驱动浏览器的默认事件操作不是一个好主意。在尽可能多的情况下,它是特定于浏览器且不可靠的

如果要在字段中添加字母“t”,请这样说:

q.value+= 't';

在更复杂的情况下,如要在当前光标位置插入字母,则需要为
文档.选择
(IE)和
字段.选择开始/结束
(其他)添加分支代码。

感谢您的回答!这是一个web自动化实验。IE通过文本字段触发事件,但不向其添加任何内容。