我正试图做一条捷径。
单击转义时,应显示一条消息,但不起作用。
我尝试使用enter(13),它有效:
的jsfiddle:
function shortcuts(event) {
if (event.which === 27) {
alert('teste');
event.preventDefault();
return false;
}
};
<textarea name='static' id='static' onkeypress="shortcuts(event);"></textarea>
答案 0 :(得分:2)
您需要使用keydown
事件。正如您已经标记了jQuery,您应该使用它绑定事件。
$('#static').on('keydown', function (event) {
if (event.which === 27) {
alert('teste');
event.preventDefault();
return false;
}
});
答案 1 :(得分:0)
如果你想使用jquery方法,请使用Satpal的方法。如果您想使用普通的javascript,您应该将事件更改为onkeydown
并确保您的功能在头部定义。在您链接的小提琴中,您的javascript全部包含在onDomReady
中,因此在keydown事件发生时未定义。
答案 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