这是我的第一篇文章,因此,如果您需要更多信息,请告诉我!
我正在使用选择列表和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”和/或“ change”事件,您可以在每次手风琴更改时将焦点恢复到所需的元素。
您可能需要添加一两个子句,以防止将手风琴头div设置为上述代码中的当前活动元素,否则,您只需将焦点恢复到手风琴头即可。
上面的代码和想法一样未经测试,但是我认为它应该可以工作。
关于jquery - jQuery Accordion 焦点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2584906/