可能的重复: 哪个键代码的转义键与jQuery
如何检测IE, Firefox和Chrome中的escape键? 下面的代码在IE中工作,并提醒27,但在Firefox中它提醒0
$('body').keypress(function(e){
alert(e.which);
if(e.which == 27){
// Close my modal window
}
});
可能的重复: 哪个键代码的转义键与jQuery
如何检测IE, Firefox和Chrome中的escape键? 下面的代码在IE中工作,并提醒27,但在Firefox中它提醒0
$('body').keypress(function(e){
alert(e.which);
if(e.which == 27){
// Close my modal window
}
});
当前回答
最好的方法是为它构造函数
功能:
$.fn.escape = function (callback) {
return this.each(function () {
$(document).on("keydown", this, function (e) {
var keycode = ((typeof e.keyCode !='undefined' && e.keyCode) ? e.keyCode : e.which);
if (keycode === 27) {
callback.call(this, e);
};
});
});
};
例子:
$("#my-div").escape(function () {
alert('Escape!');
})
其他回答
检查keyCode && which & keyup || keydown
$(document).keydown(function(e){
var code = e.keyCode || e.which;
alert(code);
});
我认为最简单的方法是使用javascript:
document.onkeyup = function(event) {
if (event.keyCode === 27){
//do something here
}
}
更新:更改key => keyCode
使用JavaScript你可以检查工作的jsfiddle
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.keyCode == 27) {
alert('Esc key pressed.');
}
};
使用jQuery可以检查工作的jsfiddle
jQuery(document).on('keyup',function(evt) {
if (evt.keyCode == 27) {
alert('Esc key pressed.');
}
});
最好的方法是为它构造函数
功能:
$.fn.escape = function (callback) {
return this.each(function () {
$(document).on("keydown", this, function (e) {
var keycode = ((typeof e.keyCode !='undefined' && e.keyCode) ? e.keyCode : e.which);
if (keycode === 27) {
callback.call(this, e);
};
});
});
};
例子:
$("#my-div").escape(function () {
alert('Escape!');
})
注意:keyCode已弃用,请使用key代替。
function keyPress (e) {
if(e.key === "Escape") {
// write your logic here.
}
}
代码片段:
var msg = document.getElementById('state-msg'); document.body。addEventListener('keypress',函数(e) { if (e.key == "Escape") { 味精。textContent += 'Escape pressed:' } }); 按ESC键<span id="state-msg"></span> . /span . > . /span . > . /span . > . /span . > . /span
keyCode已弃用
按下键和按上键似乎都有用,尽管按下键可能不行
$(document).keyup(function(e) {
if (e.key === "Escape") { // escape key maps to keycode `27`
// <DO YOUR WORK HERE>
}
});
哪个键代码的转义键与jQuery