2012-12-18 53 views
1

當談到標籤焦點等事情時,我相當無知。我正在使用JQuery Datatables。爲什麼我的元素沒有獲得標籤焦點?

在一個窗口中,點擊標籤滾動瀏覽元素,排除表格行,但包括帶有「first,previous,next,last」分頁按鈕的表格頁腳。

在另一個窗口中,選項卡焦點停在表格行的末尾,並返回到頁面頂部,跳過「first,previous,next,last」的分頁按鈕。

我編碼了這兩個數據表,它們和彈出窗口本身非常相似。我認爲這不是什麼大不了的事,但我的開發團隊中有人爲它開了一個bug,因爲這是我的代碼,所以我想修復它(我不知道爲什麼有人會浪費時間測試這樣的事情,我確信我們的客戶使用他們的光標點擊分頁按鈕,我懷疑他們中的許多人甚至認識到重複擊中標籤會將它們帶到那裏)。

我的問題是,什麼決定哪些元素可以獲得標籤焦點?爲什麼兩個非常相似的代碼表現如此不同?我如何使它們保持一致(允許所有元素獲得標籤焦點,或者至少是分頁按鈕)?

回答

1

,我能想到的原因主要有:

  1. inputbuttona(錨)元素「選項卡,可以」在默認情況下,除非他們有tabindex="-1"屬性,它是非標準但大多數瀏覽器都提供支持。它用於禁用Tab鍵。如果值爲-1,請從按鈕中刪除該屬性。同時確保沒有JS將元素'tabIndex設置爲-1

  2. 除了具有tabindex(例如tabindex="0")的默認選項卡以外的元素也會變爲製表符。

  3. 不太可能,但確保沒有onfocus屬性或focus處理程序將焦點重定向到按鈕上的其他位置。 tab關鍵也是可以捕獲的,但這是不太可能的。

這裏是一個demo說明上述。

相關問題