4

我有一个带有 iframe 的页面,并且 iframe 包含一个表单。Outsie 我的 iframe 我有更多的表格。

iframe 内的输入元素是 tabindex 1, 2, 3, 4,我给 iframe 外的表单元素 tabindex 5, 6, 7, 8。

当我访问该页面并转到 iframe 内的输入字段(tabindex 1)并通过 tab 键时,我正确访问了 2、3、4,但随后发生了一些事情(显然整个 iframe 被选中),然后是我的浏览器 URL bar 被选中,然后是搜索框,然后是 tabindex 为 5、6、7、8 的元素。

我该如何克服这种行为?我想从 4 跳到 5 没有其他问题。

我可以控制页面和 iframe 的内容,所以 javascript 可以成为一种解决方案,但是页面位于不同的域中,我不能将它们带到同一个域,所以它是跨站点的。

干杯!

4

1 回答 1

0

要回答您的部分问题,iframe 内的 body 元素是可聚焦的元素。

您可以通过在加载帧的主体上将 tabindex 设置为 -1 来防止这种影响。例如:

外部.html:

<body>
 <iframe src="inner.html"></iframe>
 <input />
 <input />
 <input />
 <input />
</body>

内部.html:

<body tabindex="-1">
 <input />
 <input />
 <input />
 <input />
</body>
于 2012-01-01T22:40:48.740 回答