元素onkeydown-keycodeJavaScript

元素onkeydown-keycodeJavaScript,javascript,html,dom,Javascript,Html,Dom,我使用这个代码片段向html表单中的任何元素添加KeyDown事件处理程序 for(var i=0;i<ele.length;i++) { ele[i].onkeydown = function() { alert('onkeydown'); } } for(var i=0;i它是keyCode,而不是keyCode。这是我用于解决此问题的代码。它适用于每个浏览器 //handle "keypress" for all "real cha

我使用这个代码片段向html表单中的任何元素添加KeyDown事件处理程序

for(var i=0;i<ele.length;i++)
{
    ele[i].onkeydown = function()
    {
            alert('onkeydown');
    } 
}

for(var i=0;i它是
keyCode
,而不是
keyCode
。这是我用于解决此问题的代码。它适用于每个浏览器

//handle "keypress" for all "real characters"     
if (event.type == "keydown") {
    //some browsers support evt.charCode, some only evt.keyCode
   if (event.charCode) {
      var charCode = event.charCode;
   }
   else {
      var charCode = event.keyCode;
   }
}

要检测Enter,您可以使用以下代码,这些代码将在所有主流浏览器中工作。它使用
keypress
事件,而不是
keydown
,因为Enter生成可打印字符:

ele[i].onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = evt.keyCode || evt.which;
    if (charCode == 13) {
        alert("Enter");
        // Do stuff here
    }
};
我用了这个:

function check(){
 if (event.keyCode == 32){
  alert("Space is pressed");
 }
}

在我的正文标签中:
onKeyPress=“check()”

谢谢,它工作得很好,我可以将此代码更改为tab吗?event.charCode=9或event.keyCode=9不工作:(你可以在不同浏览器中按按键时打印字符代码来查看要使用的确切代码。根据我的经验,有些按键在IE和Mozillarly中有不同的代码?这在非IE浏览器中有效吗?
event
来自何方?我只在IE上测试过,你对非IE浏览器@Tim有什么建议吗?你有什么建议该怎么办?你是在尝试检测可打印字符还是其他键?对于前者,你应该处理
keypress
事件,对于后者,它是
keydown
。我想将'enter'按更改为'tab'键。键码应该是KeyCode文档。onkeydown=函数(e){alert(String(e.KeyCode));}对我有效
function check(){
 if (event.keyCode == 32){
  alert("Space is pressed");
 }
}