这是我的第一篇文章,如果您想了解更多信息,请告诉我们。
我正在使用选择列表和jQuery手风琴。当用户从列表中选择一个值时,它会使用activate方法打开手风琴的相关部分。
除了可以将窗口聚焦在手风琴上而不是将用户放在同一个地方之外,它的工作正常。
有谁知道如何防止这种情况?
答案 0 :(得分:2)
您可以存储当前活动的元素,并在用户点击手风琴标题后恢复焦点。
您可以使用以下代码检索当前关注的元素:
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设置为上述代码中的当前活动元素,否则您只需将焦点恢复为折叠标头。
上面的代码是未经测试的,正如这个想法一样,但我相信它应该可行。