我无法制作Esc快捷方式

时间:2014-06-24 11:53:28

标签: jquery

我正试图做一条捷径。

单击转义时,应显示一条消息,但不起作用。

我尝试使用enter(13),它有效:

的jsfiddle:

http://jsfiddle.net/ENK9p/

function shortcuts(event) {
            if (event.which === 27) {
            alert('teste');
                event.preventDefault();
                return false;
            }
        };

<textarea name='static' id='static' onkeypress="shortcuts(event);"></textarea>

4 个答案:

答案 0 :(得分:2)

您需要使用keydown事件。正如您已经标记了jQuery,您应该使用它绑定事件。

$('#static').on('keydown', function (event) {
    if (event.which === 27) {
        alert('teste');
        event.preventDefault();
        return false;
    }
});

DEMO

答案 1 :(得分:0)

如果你想使用jquery方法,请使用Satpal的方法。如果您想使用普通的javascript,您应该将事件更改为onkeydown并确保您的功能在头部定义。在您链接的小提琴中,您的javascript全部包含在onDomReady中,因此在keydown事件发生时未定义。

Fiddle

答案 2 :(得分:0)

以下为示例http://jsfiddle.net/ENK9p/1/

您可以使用keyup()方法检测ESC键按

$('input').keyup(function(e){
    if(e.keyCode == 27){
       alert("test");
    }
});

答案 3 :(得分:-1)

您必须使用keyUp事件或keyCode来处理Escape键:

$(document).keyup(function(e) {
  if (e.keyCode == 27) { ... do something ... }
});

另请参阅此SO主题:Which keycode for escape key with jQuery