2010-04-06 73 views
2

這是我的第一篇文章,讓我知道你是否想了解更多信息!jQuery Accordion Focus

我正在使用選擇列表和jQuery手風琴。當用戶從列表中選擇一個值時,它將使用激活方法打開手風琴的相關部分。

這很好,除此之外,它還把重點放在手風琴上的窗口,而不是把用戶放在同一個地方。

有誰知道如何防止這種情況?

回答

2

您可能能夠存儲當前活動的元素,並在用戶單擊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標題。

上面的代碼沒有經過測試,這是想法,但它應該工作,我相信。