javascript事件对象提供 keyCode()和 charCode()方法,以便 charCode()为不支持的键返回0导致字符显示如输入,按键,按键,删除,退格等。
我想在jQuery keypress
事件回调中检查这些字符,但jQuery事件对象不允许我访问上述方法。
我可以从jQuery中检索js事件对象吗?
答案 0 :(得分: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
}
});
资源管理器不会为delete,end,enter,escape,功能键,home,insert,pageUp / Down和tab激活keypress事件。
如果你需要检测这些密钥,请自己帮忙并搜索他们的keyCode onkeydown / up,并忽略onkeypress和charCode。
答案 1 :(得分: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;
}
}