使用tabindex =“ - 1”无法跳过下一个输入字段

时间:2016-02-19 06:32:38

标签: javascript jquery

我注意到以下行为......

我在表单上有几个(至少4个)输入字段。如果我在第一个输入上处理“blur”事件并在 NEXT 输入字段上设置“tabindex=-1”(使用$(selector).prop("tabindex","-1");在模糊事件处理程序内部),然后按“tab”(第一个输入字段为焦点),模糊处理程序触发,tabindex设置为“-1”,但字段不“跳过”! !

虽然,如果你再次点击第一个输入并再次点击标签,它将跳过第二个输入。

使用相同的场景,如果我改为在第三个字段上设置“tabindex=-1”(在第一个输入的模糊处理程序中),则从第一个输入开始并点击标签,选项卡,它 DOES 跳过第三个字段。

此行为 IE 11 Chrome Firefox ....

SAME >

似乎存在“时机”问题。很显然,浏览器已经确定了下一个“focus”的字段,当它触发“blur”处理程序时(因为在上设置了“tabindex=-1” NEXT 字段不会“跳过”它。)

还有其他人看过这个问题吗?

感谢您的反馈! 谢恩

1 个答案:

答案 0 :(得分:0)

您可以收听keydown事件并检查密钥是否为tabDemo

<input type="text" id="first">
<input type="text" id="second">
<input type="text" id="third">

$(function() {
    $('#first').keydown(function(ev) {
    if(ev.which === 9) { //tab key
        $('#second').attr('tabindex', '-1');
    }
  });
});