我希望在HTML应用程序中重现gmail快捷方式行为。 如果按?你移动+ /(或移动+,在azerty键盘上)隐藏的div显示一个快捷方式列表。 (如果您在输入中,则键事件未被截获)。
我搜索用jquery正确拦截keydown来显示div。 在我的情况下,keydown在我页面的所有组件上被截获。
如何在其他HTML组件上禁用keyevent?
我试过e.stopPropagation();
,但这没有效果。
修改: 我发现这个代码,但在IE7上没有功能
$("input, textarea").keydown(function (e) {
e.stopPropagation();
});
function close_help(){
$("#help:even").addClass("aou");
}
function doKeyDown(e) {
if (e.keyCode == 188) {
$("#help:even").removeClass("aou");
}
}
var input_ = document.getElementsByTagName("input").elements;
if ($.browser.msie && $.browser.version < 9) {
window.attachEvent("keydown", doKeyDown, true);
}
else {
window.addEventListener("keydown", doKeyDown, false);
}
input_.removeEventListener("keydown");
答案 0 :(得分:0)
你必须检查
e.target.type
查看您是否在页面的输入或其他部分。
答案 1 :(得分:0)
要停止传播事件,您需要检查三个功能
当您在与要处理的DOM级别相同的DOM级别上有多个事件时,需要最后一个。