Javascript 正在更改选项卡索引;“运行时”;自找麻烦?
现在,我正在开发一个dojo小部件,它充当一段用户信息的验证小部件。主要概念是有一个带有嵌套Javascript 正在更改选项卡索引;“运行时”;自找麻烦?,javascript,html,tabindex,Javascript,Html,Tabindex,现在,我正在开发一个dojo小部件,它充当一段用户信息的验证小部件。主要概念是有一个带有嵌套输入的div和一个带有进一步嵌套输入的嵌套div,因此基本上: <div id="top"> <input name="pass"> <div id="collapse"> <input name="passvalidate"> </div> </div> 假设发生的情况是,如果pass中
输入的div
和一个带有进一步嵌套输入的嵌套div
,因此基本上:
<div id="top">
<input name="pass">
<div id="collapse">
<input name="passvalidate">
</div>
</div>
假设发生的情况是,如果pass
中没有任何内容,则passvalidate
不应被访问,而collapse
应被折叠和隐藏。我现在实现这一点的方法是锁定pass
输入字段的keydown
事件,如果键是tab,并且pass
字段不是空的,则passvalidate
的tabindex
会更改,以便可以用tab将其锁定
如果选中验证字段,并且再次选中用户选项卡,则它们将被带到页面顶部,因为passvalidate
的实际元素位于页面底部,远离它似乎在tabflow中的位置
我的实现很好。我没有遇到任何错误,这就是为什么我只发布psudocode。然而,团队中的另一位开发人员似乎愿意在不必要的情况下修改元素的tabindex
。如果没有更复杂和硬编码的处理程序来确保它们不能在不应该的时候进入验证字段,我真的想不出其他方法来实现这一点
因此,底线问题是,用tabindex编程更改tabflow是否是确保这种行为的安全方法,或者我是否可能遇到浏览器可能会对定期更改其页面的tabindex做出负面反应的问题?我认为动态更改tabflow不是正确的做法,可用性方面。也许您可以显示一条验证消息,用户可以单击该消息转到相关字段?或者,如果你想改变设计,甚至可以滚动到该字段,如果我可以的话,但客户希望有这个抽屉功能。在整个表单中,屏幕上也会弹出大量的验证消息。