jQuery Accordion Focus

这是我的第一篇文章,如果您想了解更多信息请告诉我!

我正在使用选择列表和jQuery手风琴。 当用户从列表中选择一个值时,它会使用activate方法打开手风琴的相关部分。

除了它之外,它还可以将窗口聚焦在手风琴上,而不是将用户放在同一个地方。

有谁知道如何防止这种情况?

您可以存储当前活动的元素,并在用户单击手风琴标题后恢复焦点。

您可以使用以下代码检索当前关注的元素:

function onElementFocused(e) { if (e && e.target) document.activeElement = e.target == document ? null : e.target; } if (document.addEventListener) document.addEventListener("focus", onElementFocused, true); 

这将使当前关注的元素保留在document.activeElement变量中。

使用’changestart’和/或’用手风琴改变事件,您可以在每次手风琴改变时将焦点恢复到所需的元素。

您可能需要添加一个或两个子句以防止将accordion标头div设置为上述代码中的当前活动元素,否则您只需将焦点恢复到accordion标头。

上面的代码是未经测试的,这个想法也是如此,但我相信它应该可行。