我目前正在學習jQuery對話框,並希望在我的項目中使用它。我想將tabindex添加到對話框中的切片。但是當我選中對話框中的最後一個元素時,焦點會轉移到別處。保持選項卡焦點內的jQuery對話框
我想將焦點回到第一個元素時,我的最後一個元素的標籤。有沒有辦法在對話框中保持焦點?
謝謝!你想跳過任何這樣的元素
我目前正在學習jQuery對話框,並希望在我的項目中使用它。我想將tabindex添加到對話框中的切片。但是當我選中對話框中的最後一個元素時,焦點會轉移到別處。保持選項卡焦點內的jQuery對話框
我想將焦點回到第一個元素時,我的最後一個元素的標籤。有沒有辦法在對話框中保持焦點?
謝謝!你想跳過任何這樣的元素
禁用Tab鍵:
$("#element").attr("tabIndex", -1);
忽略默認選項卡行動,並把焦點回到對話框中的第一個元素的最後一個元素添加按鍵事件。
下面的示例假定的最後一個元素是last_element_id
和第一是first_element_id
。
$('#last_element_id').on('keydown', function(e) {
if ((e.keyCode || e.which) == 9) {
$('#first_element_id').focus();
e.preventDefault();
}
});
使用'e.which'已經足夠了,因爲jQuery已經爲我們規範了這一點。 –
任何負面的標籤索引應該被關注所以只是否定了現有值停止元素,然後把元素時回Tab順序刪除負。
例如 10 Tab鍵索引改變爲-10,然後返回到10
問題的這種解決方案時,關閉對話框,所有那些已被改變爲元素TABINDEX -1將不再tabbable。因此,如果對話框下面有一個表單,它將不再像打開對話框之前那樣工作。 –