<element> .KeyCode在某些键盘中不起作用?</element>

时间:2011-10-16 16:17:14

标签: javascript keyboard keypress keycode

我在文本输入框中检测到按下的键(本例中为<tab>)。我在编码的时候还可以。但是,当我在不同的计算机(一台笔记本电脑,使用相同的Firefox版本)上进行测试时,它会返回“Undefined”。为什么呢?

例如:当我按下<tab>键时,它应该返回9。相反,它会在其他一些计算机上返回Undefined0。为什么呢?

使用以下JS代码:

function keyHandler(e) {
  var charCode;
  if (e && e.which) {
      charCode = e.which;
  } else if (window.event) {
      e = window.event;
      charCode = e.keyCode;
  }

  if (charCode == 9) {
    bla.. bla.. bla.. bla.. 
  }
}

令人惊讶的是,它适用于我的pc,而不适用于其他laptop。笔记本电脑键盘是否有不同的密码?

或为什么?

1 个答案:

答案 0 :(得分:1)

尝试:

function keyHandler() {
var e = arguments[0] || window.event,
    charCode = e.which || e.keyCode || e.charCode;

  if (charCode == 9) {
    bla.. bla.. bla.. bla.. 
  }
  else {
  console.log( charCode );
  }
}

或只是使用jQuery