2
这是我的第一篇文章,让我知道你是否想了解更多信息!jQuery Accordion Focus
我正在使用选择列表和jQuery手风琴。当用户从列表中选择一个值时,它将使用激活方法打开手风琴的相关部分。
这很好,除此之外,它还把重点放在手风琴上的窗口,而不是把用户放在同一个地方。
有谁知道如何防止这种情况?
这是我的第一篇文章,让我知道你是否想了解更多信息!jQuery Accordion Focus
我正在使用选择列表和jQuery手风琴。当用户从列表中选择一个值时,它将使用激活方法打开手风琴的相关部分。
这很好,除此之外,它还把重点放在手风琴上的窗口,而不是把用户放在同一个地方。
有谁知道如何防止这种情况?
您可能能够存储当前活动的元素,并在用户单击accordion标题后恢复焦点。
您可以使用下面的代码检索当前焦点元素:
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事件,可以在每次手风琴改变时将焦点恢复到所需的元素。
您可能需要添加一个或两个子句,以防止在上述代码中将accordion header div设置为当前活动元素,否则您只需将焦点恢复到accordion标题。
上面的代码没有经过测试,这是想法,但它应该工作,我相信。