Bootstrap在Tabs中使用focus时,如果focus的目标是当前active的Tab,那么focus是可以的。但是如果focus的目标不是在active的Tab中,那么,就无法达到focus的目的。
为了在没有Active的Tab中使用focus,需要调用shown.bs.tab方法。代码如下:
//如果当前tab已经是active,则直接focus
if($('#cpafChangeTabUl li:eq(2)').attr('class') == 'active'){
input.focus();
}else{//不是active,先show,然后在shown.bs.tab回调函数中focus
$('#cpafChangeTabUl li:eq(2) a').tab('show');
$('a[data-toggle="tab"]').one('shown.bs.tab', function (e) {
input.focus();
});
}