3 回答

TA貢獻1848條經(jīng)驗 獲得超10個贊
注:keyCode被越來越不贊成使用key來代替。
function keyPress (e) {
if(e.key === "Escape") {
// write your logic here.
}
}
這是jsfiddle
keyCode 被棄用
看起來keydown和keyup工作,即使keypress可能沒有
$(document).keyup(function(e) {
if (e.key === "Escape") { // escape key maps to keycode `27`
// <DO YOUR WORK HERE>
}
});
jQuery的哪個鍵代碼用于轉(zhuǎn)義鍵

TA貢獻1828條經(jīng)驗 獲得超13個贊
該keydown事件將對Escape正常運行,并具有允許您keyCode在所有瀏覽器中使用的優(yōu)勢。另外,您需要將偵聽器附加到document主體上,而不是附加到主體上。
keyCode現(xiàn)在正處于棄用過程中,大多數(shù)現(xiàn)代瀏覽器key現(xiàn)在都提供該屬性,盡管您現(xiàn)在仍需要一個不錯的瀏覽器支持回落(撰寫本文時,Chrome和Safari的當(dāng)前版本不支持它)。
evt.key現(xiàn)在所有現(xiàn)代瀏覽器均支持2018年9月更新。
document.onkeydown = function(evt) {
evt = evt || window.event;
var isEscape = false;
if ("key" in evt) {
isEscape = (evt.key === "Escape" || evt.key === "Esc");
} else {
isEscape = (evt.keyCode === 27);
}
if (isEscape) {
alert("Escape");
}
};
Click me then press the Escape key

TA貢獻1803條經(jīng)驗 獲得超3個贊
使用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.');
}
});
添加回答
舉報