开发者

element onkeydown keycode javascript

I am using this code snippet to add KeyDown event handler to any element in the html form

for(var i=0;i<ele.length;i++)
{
    e开发者_开发问答le[i].onkeydown = function()
    {
            alert('onkeydown');
    } 
}

How can I know which key has been pressed on keydown event? I try this

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

but it is not working, why? Thanks a lot


This is the code I use for this problem. It works in every browser.

//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;
   }
}


For detecting Enter, you could use the following code, which will work in all mainstream browsers. It uses the keypress event rather than keydown because Enter produces a printable character:

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


I used this:

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

and in my body tag: onKeyPress="check()"


It is keyCode, not KeyCode.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜