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

时间:2014-02-20 20:17:19

标签: javascript jquery html

这是一个演示小提琴:http://jsfiddle.net/gLq2b/

<input value="0" />
<input id="test" value="1" />
<input value="2" />

如果您反复按TAB,它应该按顺序关注第1,第2和第3个输入。因此,如果由于某种原因,第二个输入在聚焦时被隐藏,如果再次按TAB,则tabindex顺序将被重置,您必须从头开始。

如果在隐藏第二个输入后再按TAB键时,如何让它专注于第三个输入?

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

2 个答案:

答案 0 :(得分:1)

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

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

小提琴:http://jsfiddle.net/gLq2b/5/

答案 1 :(得分:0)

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

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

example

编辑: 这是你在找什么?

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

new example