我在我的网络应用程序中添加了快捷方式,但是当输入为焦点时,我想阻止它们...
$(function () {
$(document).keypress(function (event) {
var ch = String.fromCharCode(event.keyCode || event.charCode);
switch (ch) {
case 'p': case 'P':
mainMenuRegulations();
break;
case 's': case 'S':
mainMenuJurisprudence();
break;
case 'm': case 'M':
mainMenuModels()
break;
case 'i': case 'I':
showImprintContact();
break;
}
});
});
答案 0 :(得分:2)
只需检查当前活动元素(聚焦元素)是否是keypress事件处理程序中的输入:
$(function () {
$(document).on('keypress', function(event) {
if (document.activeElement.tagName.toLowerCase() == 'input' ) {
var ch = String.fromCharCode(event.which);
switch (ch) {
// your code here
}
}
});
});
更具体地说,您也可以检查document.activeElement
类型,并检查文字,数字或其他任何您正在使用的内容?