相关疑难解决方法(0)

jQuery keypress()事件没有触发?

我试图用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)

javascript jquery internet-explorer

37
推荐指数
3
解决办法
11万
查看次数

为什么不使用jquery keypress事件检测退格?

为什么不使用jquery keypress事件检测退格?

$("#field").keypress(function(event){alert(event.which);});
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events

19
推荐指数
2
解决办法
2万
查看次数

在Chrome和Firefox上捕捉Backspace是不同的

我正在尝试创建一个类似于应用程序的控制台,所以我正在捕捉窗口上的所有按键并与它们做相关的事情(不重要).问题在于退格.我有以下代码:

$(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'.

firefox jquery google-chrome keypress backspace

5
推荐指数
1
解决办法
5382
查看次数