Javascript 是否在文档上禁用制表符,但启用输入制表符?
我已经在我的站点中添加了以下代码以防止选项卡,这适用于整个文档。问题是,这显然会禁用整个站点中的所有选项卡,我如何才能在其中添加规则以允许对输入进行选项卡化?我尝试添加。不是(“输入”),但这似乎不起作用Javascript 是否在文档上禁用制表符,但启用输入制表符?,javascript,jquery,Javascript,Jquery,我已经在我的站点中添加了以下代码以防止选项卡,这适用于整个文档。问题是,这显然会禁用整个站点中的所有选项卡,我如何才能在其中添加规则以允许对输入进行选项卡化?我尝试添加。不是(“输入”),但这似乎不起作用 $(document).keydown(function(objEvent) { if (objEvent.keyCode == 9) { objEvent.preventDefault(); } }); 谢谢您可以检查docum
$(document).keydown(function(objEvent) {
if (objEvent.keyCode == 9) {
objEvent.preventDefault();
}
});
谢谢您可以检查
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();
}
});
keyup事件也会正确地发送一个目标 objEvent.target应返回用户所在的当前目标 因此,检查目标是否为输入字段,然后忽略默认值
编辑:不确定这是否可行。“wsanville”方法看起来更合法。我觉得这不是个好主意。通过禁用选项卡,可以打破浏览器的默认行为。许多人使用标签浏览,因为他们可能习惯于使用键盘命令而不是鼠标。另外,盲人对屏幕阅读器的依赖程度也很高。嗨,约翰,我完全同意你的观点,但是对于这个特殊的网站,这是一个要求,但是我同意你的观点