淘先锋技术网

首页 1 2 3 4 5 6 7

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 事件处理器,便可以实现较为完善的焦点控制。