这是我的第一篇文章,因此,如果您需要更多信息,请告诉我!

我正在使用选择列表和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/

10-13 21:38