2010-12-18 57 views
0

我有一個表單。其中包括菜單欄,公司圖標,一些鏈接和10個輸入[type ='text']。我已經爲5個輸入寫了tabindex屬性。因爲我想讓只有這五個輸入才能被集中。我怎麼能做到這一點?html tabindex屬性

+0

-1?爲什麼?這是一個簡單的問題或其他什麼? – AEMLoviji 2010-12-18 12:23:32

回答

4

tabindex設置項目的索引順序,但它沒有設置元素可以關注的限制。

您應該能夠通過給最後輸入下面的JavaScript來實現你想要的:

<input onblur="$('#firstitem').focus();"> 

或替代,在ready()

$("#lastitem").blur(function() { $('#firstitem').focus(); }) 

記住儘管這與,你正在拿走用戶使用鍵盤瀏覽頁面的能力。

+0

+1,就像你說的那樣,這將是一次無障礙的災難。 – 2010-12-18 12:14:08

+0

yesss。馬麗娟。簡單。但沒有想到。我知道我將剝奪用戶使用鍵盤導航頁面的能力。但僅限於此頁面。 :-)我搜索了它。謝謝.. – AEMLoviji 2010-12-18 12:21:41

6

方法1:有害相對弱瀏覽器支持(這取決於HTML5 draft

設置你不想獲得焦點的每一個元素產生負面tabIndex值。

這將導致某些用戶(尤其是屏幕閱讀器用戶中擁有較高部分的非鼠標用戶)無法訪問頁面的這些元素。

方法2:同樣有害但具有相對較高的瀏覽器支持。

使用JavaScript將onfocus事件處理程序綁定到您不想接收焦點的每個元素。讓它調用第一個窗體控件的focus()方法。

做這些是用戶敵對的行爲。不要這樣做。

+0

+1爲粗體警告 – thejh 2010-12-18 12:16:26

+0

+1你的回答是正確的 – AEMLoviji 2010-12-18 12:22:40

+0

+1表示方法的危害和警告 – XMen 2010-12-18 12:24:37