在IE上的textarea中强制javascript键盘事件

时间:2009-10-13 17:02:15

标签: javascript-events keyboard-events

我正在尝试使用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>

提前致谢!

1 个答案:

答案 0 :(得分:2)

尝试通过伪造事件来推动浏览器的默认事件操作并不是一个好主意。在可以完成的任务中,它都是特定于浏览器且不可靠的。

如果您想在字段中添加字母't',请说:

q.value+= 't';

在更复杂的情况下,例如,如果要在当前光标位置插入字母,则需要为document.selection(IE)和field.selectionStart/End(其他)分支代码。