簡體   English   中英

使用jQuery來規避tabindex問題

[英]Using jQuery to circumvent tabindex problems

我正在嘗試控制我的表單以及用戶如何通過表單元素的tabindex屬性與它們進行交互。 我的所有元素都指定了tabindex ,我希望這個值得到尊重並正確使用。

我目前正在開發Mac / Firefox,我知道默認的Mac系統設置,它將制表符切換設置為僅輸入元素和列表。 但是,我想在任何系統/瀏覽器上覆蓋此以及可能妨礙此操作的任何其他設置。

我正在使用jQuery試圖解決這個問題。 這是我的代碼:

$(":input").keypress(function(e){
    if (e.which == 0)
    {
        tindex = parseInt($(this).attr("tabindex")) + 1;
        $(":input[tabindex='" + tindex + "']").focus();
    }
});

但是,這不符合我的要求。 啟用默認的Mac設置時,這實際上會跳過tabindex,並完全跳過非text / textarea項目。 例如,如果我input[tabindex=2]並按“Tab”鍵,我就會被input[tabindex=4] 如果我在input[tabindex=2]並且input[tabindex=2]input[tabindex=4]之間有一個select框,我將被發送到input[tabindex=5]

我想input[tabindex=2]來發送input[tabindex=3]select[tabindex=3]input[type=radio][tabindex=3]等; 基本上沒有任何tabindex為3。

讓我知道任何想法來解決這個問題。 如果您知道我應該關注的任何其他系統/瀏覽器上的任何其他內容,請告訴我。

添加e.preventDefault(); 到你的按鍵事件處理程序。 這將阻止瀏覽器對此事件執行其默認操作。 如果鏈接放置在單擊處理程序中,這也將阻止瀏覽器關注鏈接。

文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM