我已将以下代码添加到我的网站以防止标签,这适用于整个文档。问题是,这显然禁用了整个站点的所有标签,如何添加规则以允许输入标签?我尝试添加.not('input'),但这似乎不起作用。
$(document).keydown(function(objEvent) {
if (objEvent.keyCode == 9) {
objEvent.preventDefault();
}
});
由于
答案 0 :(得分:3)
您可以查看document.activeElement.tagName
。
如果未选择任何内容,则document.activeElement
将成为FireFox,Chrome中的body
标记,以及IE 7/8/9中的html
标记。
$(document).keydown(function(objEvent) {
if (objEvent.keyCode == 9) {
if (document.activeElement.tagName != 'INPUT')
objEvent.preventDefault();
}
});
答案 1 :(得分:0)
正确的keyup事件也会发送目标。
objEvent.target应返回用户所在的当前目标。
因此,检查目标是否为输入字段,然后忽略preventDefault ...
编辑:不确定这是否可行。 “wsanville”方法看起来更合法。