现在,我正在开发一个dojo小部件,它充当一条用户信息的验证小部件。主要概念是div
有一个嵌套的input
和一个嵌套的div
,还有一个嵌套的input
基本上是这样的:
<div id="top">
<input name="pass">
<div id="collapse">
<input name="passvalidate">
</div>
</div>
应该发生的是,如果pass
中没有任何内容,那么passvalidate
将无法访问,collapse
应该被折叠和隐藏。我现在正在实现这一点的方式是,我正在锁定keydown
输入字段的pass
事件,如果键是制表符且pass
字段不为空, tabindex
的{{1}}更改,以便可以选中它。
如果验证字段被选中,并且用户再次选中,那么它们将被带到页面顶部,因为passvalidate
的实际元素位于页面底部,距离似乎在tabflow中。
我的实施工作正常。我没有遇到任何错误,这就是为什么我只是真的发布了psudocode。但是,如果没有必要,团队中的其他开发人员之一似乎会改变元素的passvalidate
。在没有更复杂和硬编码的处理程序的情况下,我无法想到另一种方法,以确保它们不会在不应该进入验证字段时显示。
所以最重要的问题是,用tabindex以编程方式改变tabflow是一种确保这种行为的安全方法,或者我是否可能遇到浏览器可能会对其页面的tabindex周期性更改产生不利反应的问题?