带有纸张输入和自身元素的 Tab 键顺序

Tab order with paper input and own element

我已经制作了自己的 "date" 输入,其中包括一个 paperinput、pikaday 日期选择器和一个日期验证器(也是我自己的)。这样做的原因是我需要允许 "vague" 日期(如果有人键入 4 位数字,其值在 1901 到 2050 之间,这意味着特定年份的任何时间)和复杂的其他规则,所以 2811 意味着 11 月 20 日当前年(我是英国人,所以使用 dd/mm/yy - 但我要更换的系统不需要用户输入 / 字符)。

我有一个表单,其中有两个纸张输入字段,后面是我的日期字段。 Tabbing 在它们之间很好地移动,直到我离开我的特殊元素,当一个选项卡没有选择任何内容然后下一个选项卡下一个字段被选择时。

我在日期元素纸张输入的模糊事件上放置了一些代码,并在事件处理程序中执行了 var test = document.activeElement;。结果是我页面的正文元素。

如何让 Tab 顺序播放得很好?

正如我在问题下的评论中所解释的那样,pikaday 日期选择器收到了模糊的标签,但随后立即被隐藏了。这留下了带有 body 的选项卡。我更改了选择器上的各种按钮,以便在创建选择器时添加 tabindex="-1"。这解决了问题