【发布时间】:2012-12-13 10:54:24
【问题描述】:
我希望在我的 HTML 应用程序中重现 gmail 快捷方式的行为。 如果按 ? ou shift+/(或 shift+,在 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");
【问题讨论】:
标签: jquery html keyevent intercept