在我当前的项目中,我们有一些模式窗格,可以打开某些操作。我正在尝试获取它,这样当模式窗格打开时,您就不能用tab键指向它之外的元素。jQueryUI对话框和Malsup jQuery块插件似乎可以做到这一点,但我正试图获得这一功能并将其应用到我的项目中,我并不清楚它们是如何做到这一点的
我看到一些人认为不应该禁用tabbing,我也看到了这种观点,但我得到了禁用它的指令
这只是对Christian answer的扩展,添加了额外的输入类型,还考虑了shift+tab
var inputs=$element.find('select,input,textarea,button,a')。过滤器(':visible');
var firstInput=inputs.first();
var lastInput=inputs.last();
/*将焦点设置在第一个输入上*/
focus();
/*将最后一个选项卡重定向到第一个输入*/
lastInput.on('keydown',函数(e){
if((e.which==9&;!e.shiftKey)){
e、 预防默认值();
focus();
}
});
/*将第一个shift+选项卡重定向到最后一个输入*/
firstInput.on('keydown',函数(e){
if((e.which==9&;e.shiftKey)){
e、 预防默认值();
lastInput.focus();
}
});