Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示时输入字段的制表符:无_Javascript_Jquery_Html_Input_Tabindex - Fatal编程技术网

Javascript 显示时输入字段的制表符:无

Javascript 显示时输入字段的制表符:无,javascript,jquery,html,input,tabindex,Javascript,Jquery,Html,Input,Tabindex,想象一下: <div> <input tabindex="1"> </div> <div style="display:none"> <input tabindex="2"> </div> <div> <input tabindex="3"> </div> 现在,我正试图用tab键遍历所有这些输入字段,但他并没有进入tabindex 2。从逻辑上讲,这不起作

想象一下:

<div>
    <input tabindex="1">
</div>
<div style="display:none">
    <input tabindex="2">
</div>
<div>
     <input tabindex="3">
</div>

现在,我正试图用tab键遍历所有这些输入字段,但他并没有进入tabindex 2。从逻辑上讲,这不起作用,但是当他在tabindex 1上并且应该转到tabindex 2,div变为可见时,我如何实现这一点呢


谢谢

如评论中所述,使您的
div
具有
不透明度:0
。当您关注隐藏的输入时,将其设置为
opacity:1
。比如:

<div>
    <input tabindex="1"/>
</div>
<div style="opacity: 0">
    <input tabindex="2"/>
</div>
<div>
    <input tabindex="3"/>
</div>        

或者您可以使用
height
height:0
/
height:auto
):


但是从用户体验的角度来看,在你不期望的地方有一个额外的
输入
弹出窗口是很奇怪的。

我对这里给出的建议有问题,于是决定使用
左:-999px;位置:绝对位置只需在悬停或键盘导航上设置左侧(使用tabindex)


我只想说基本上
height:0
并不总是有效的,在这种情况下,极端
translate:transformX(-999)
或更简单的
left:-999px
位置:absolute
同样有效。

设置
opacity:0
,我认为这会使tabindex起作用。然后,当你聚焦在该字段上时,你会移除
不透明度
$('div:eq(1) input').on('focus', function() {
    $(this).parent().css('opacity','1');
}).on('blur', function() {
    $(this).parent().css('opacity','0');
});