我试图用jQuery在右箭头键和左箭头键上按下一个事件.使用以下代码,我可以在任何字母数字键上触发事件,但光标键(向上,向下,向左,向右)不会触发任何内容.我主要为IE用户开发该网站,因为它是一个业务线应用程序.我在这里做错了吗?
$('document').keypress(function(e){
switch (e.which) {
case 40:
alert('down');
break;
case 38:
alert('up');
break;
case 37:
alert('left');
break;
case 39:
alert('right');
break;
default:
alert('???');
}
});
Run Code Online (Sandbox Code Playgroud) 为什么不使用jquery keypress事件检测退格?
$("#field").keypress(function(event){alert(event.which);});
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个类似于应用程序的控制台,所以我正在捕捉窗口上的所有按键并与它们做相关的事情(不重要).问题在于退格.我有以下代码:
$(window).bind("keypress",function(e){
var code = e.keyCode || e.which;
if ( code == 8) {
a = $("#console").html();
$("#console").html(a.substring(0,a.length-1));
currentCommand = currentCommand.substring(0,currentCommand.length-1);
e.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
但是,在Firefox中,该内容已#console被删除,但Chrome不会执行上述代码.我需要一个跨浏览器兼容的解决方案.我错过了什么?
加成:
如果我使用keydown/keyup而不是keypress,我无法检测characeter是'A'还是'a'它总是返回'A'.