1

我在一个页面上有一堆输入字段,需要为那些只使用键盘来浏览并填写所有内容的人工作。

当输入某些文本时,其中一个文本字段会做一些额外的工作。在这项工作结束时,我希望将焦点从该输入字段上移开。我用过 $(this).blur(); 取消焦点。

问题是在那之后,当您按键盘上的 Tab 键时,您会从页面的开头开始。如何模糊但保留页面上的标签位置?

注意:我不能使用任何类型的:

     $(this).next().focus();

因为下一个输入可能是另一种类型的输入,当被关注时会启动其他东西。所以我不希望用户在他们主动选择/标签之前体验其他东西。

这是我正在谈论的一个 jfiddle 示例:http: //jsfiddle.net/DqVvf/1/

尝试单击第一个输入,输入内容,按 Tab 转到“zip”字段,然后按键盘上的零键。这会触发模糊。然后再次按 Tab,您将返回页面上的第一个输入。

4

2 回答 2

1

也许你可以在 and 之间放置一个不可见的输入(display:none 或类似的)zipsomethingElse并集中它而不是仅仅模糊zip?然后当用户按下 tab 时,它会移动到somethingElse.

于 2013-07-19T11:46:58.683 回答
0
Something Else: <input class="denied" tabindex="-1" type='text' id='somethingElse'>

通过将 tabindex 设置为 -1,您将禁止顺序焦点导航。

有关更多信息,请参阅此 SO 问题

JSFIDDLE

于 2013-07-19T11:48:22.377 回答