JQuery Dialog 是一款非常常見的彈出窗口組件,可以方便地呈現內容、表單等資料。在彈出窗口中,焦點控制是一個非常重要的問題。
$( "#dialog-box" ).dialog({ open: function() { $( "#input-box" ).focus(); } });
當彈出窗口打開時,使用 JQuery 的 focus() 方法,將焦點設置到表單元素中。這樣,用戶可以方便地輸入內容,無需再次單擊表單元素。同時,也方便了鍵盤操作的用戶,可以直接使用 Tab 鍵切換不同的輸入框。
$( "#dialog-box" ).dialog({ create: function() { $(document).on('keydown', function(e){ if(e.keyCode == $.ui.keyCode.TAB){ e.preventDefault(); if ($(e.target).nextAll(":input:not(:disabled)").first().length>0){ $(e.target).nextAll(":input:not(:disabled)").first().focus(); } else { $(":input:not(:disabled)").first().focus(); } } }); } });
在彈出窗口中,焦點控制還涉及到鍵盤操作。當用戶按下 Tab 鍵時,會切換到下一個可輸入元素。若用戶切換到最后一個元素,再次按下 Tab 鍵,則應該選擇第一個可輸入元素。利用 JQuery Dialog 提供的方法,加入 TAB 事件處理器,便可以實現較為完善的焦點控制。