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});
});