Javascript 如果元素被隐藏,则保持tabindex顺序

Javascript 如果元素被隐藏,则保持tabindex顺序,javascript,jquery,html,Javascript,Jquery,Html,这是一个演示小提琴: 如果您反复按TAB键,它将按顺序集中在第一、第二、第三个输入上。因此,如果由于某种原因,第二个输入在聚焦时被隐藏,如果您再次按TAB键,tabindex顺序将被重置,您必须从头开始 在第二个输入被隐藏后,当我再次按TAB键时,如何使其聚焦于第三个输入? 请注意,输入只是一个测试用例,它可以是一个radio、select或任何具有“tabindex”属性的tabbable元素等。您可以更改此行$(this).fadeOut()到 $(this.next().focus()

这是一个演示小提琴:


如果您反复按TAB键,它将按顺序集中在第一、第二、第三个输入上。因此,如果由于某种原因,第二个输入在聚焦时被隐藏,如果您再次按TAB键,tabindex顺序将被重置,您必须从头开始

在第二个输入被隐藏后,当我再次按TAB键时,如何使其聚焦于第三个输入?


请注意,输入只是一个测试用例,它可以是一个radio、select或任何具有“tabindex”属性的tabbable元素等。

您可以更改此行
$(this).fadeOut()

$(this.next().focus().end().fadeOut()

编辑: 这就是你要找的吗

$(function(){
   $('#test').focus(function(){     
       $(this).fadeOut(function() {
           $(this).next().focus();
       });
   });
});

只是不要隐藏它,而是将动画设置为不透明度为0,并在动画结束时使输入字段尽可能小

$(this).animate({opacity:0}, function(){
    $(this).css({width:0,margin:0,padding:0});   
});

小提琴:等等,这不是它的工作原理。我希望它聚焦在第二个输入上,等待它失去焦点,然后再次按TAB键切换到第三个输入。不直接从1切换到第3个输入仍然不是这样,我应该通过按TAB键2次,而不是只按一次来达到第3个输入:(@ThanhTrung将
.next()
替换为
.prev()
以聚焦第一个输入,这样您就可以点击TAB键并移动到第3个输入(但只能按1次,而不是2次).我想我没有其他有趣的想法,我想这就是我要找的。你也可以将它的宽度设置为0,甚至看起来也没那么糟糕:)
$(this).animate({opacity:0}, function(){
    $(this).css({width:0,margin:0,padding:0});   
});