我正在嘗試改變html表單中選擇的行爲。捕獲TAB keydown並觸發其他按鍵
我想的是,當用戶使用鍵盤,如果他選擇的元素並按壓導航選項卡的形式中,所述元件被選擇並且焦點切換到下一個形式輸入。通常情況下,您需要按Enter鍵選擇元素,然後您可以使用選項卡切換到下一個。如果沒有按下輸入,則不會選擇任何選項。
要做到這一點,我想要捕獲TAB按鍵,並觸發一個ENTER鍵和一個TAB鍵。
這是我現在:
$('form[class="ui form"]').on('keydown', 'div[class="ui fluid selection dropdown active visible"]', function (e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
var y = jQuery.Event('keydown', {which: 13});
$(this).trigger(y);
var x = jQuery.Event('keydown', {which: 9});
$(this).trigger(x);
}
});
這裏是一個演示:JSFiddle
代碼「作品」高達e.preventDefault(),標籤按鍵不切換專注於下一個輸入。但是,輸入和製表符操作沒有被觸發,所以沒有任何反應。我該怎麼辦 ? 提前謝謝!
UPDATE 10/10:發現問題!觸發事件x(製表鍵)使代碼進入無限循環。所以整個方法是錯誤的。我會很快發佈答案。
會發生什麼事,如果你更換'和'keyCode' which'? – BenM
@BenM沒有任何變化 – Ire
您是否嘗試觸發按鍵? –