2011-11-28 61 views
2

JavaScript的事件对象提供键代码()则charCode()方法,使得则charCode()钥匙返回0,不会导致要显示的字符输入类似,键向上,向下键,删除,backspace等如何从jQuery事件对象中检索keyCode和charCode?

我想检查一个jQuery keypress事件回调中的确切这些字符,但jQuery事件对象并不允许我访问所提及的方法。

我可以从jQuery中检索js事件对象吗?

回答

2
$('#yourid').bind('keypress', function(e) { 
    var keycode= (e.keyCode ? e.keyCode : e.which); 
     if(keycode == 13){ 
       // Enter pressed... do anything here... 
     }else if(keycode == 46){// delete 

     }else if(keycode == 8){ // backspace 

     } 
}); 

浏览器不火的按键事件进行删除,最后,进入,逃生,功能键,Home,插入,上一页/下和标签。

如果您需要检测这些密钥,请自己帮忙并搜索他们的keyCode onkeydown/up,并忽略onkeypress和charCode。

1

键码表可在互联网上,虽然这里是为你做了不依赖于任何框架繁重......

if (window.addEventListener) {document.addEventListener('keydown',keyPressed,false);} 
else {document.attachEvent('onkeydown',keyPressed);} 

function keyPressed(evt) 
{ 
var e = evt || event; 
var key = e.which || e.keyCode; 

if (!powerKeysEnabled) return; 
if (showmeallcodes) {alert(key); return;} 

switch (key) 
{ 
    case 77:// M 
    alert('m key pressed'); 
    break; 

    case 76://L 
    alert('L key pressed'); 
    break; 
} 
}