0

我正在构建一个围绕 jQuery 选项卡构建的 Web 界面,其中第一个选项卡包含一个文本输入,可用作通过其他选项卡快速搜索。我希望文本框在选择第一个选项卡后立即获得焦点,以便用户可以尽快开始输入。

目前我正在尝试使用该tabsselect事件来绑定焦点窃取功能,但似乎我错过了一些东西。

我当前的代码:

$("#usertabs").tabs().bind("tabsselect",function( event, ui){
    if(ui.index == 0){
        alert('fire');
        $('#barcodeselect').focus();
    }
});

当我单击第一个选项卡时,会弹出警报,一旦我关闭它,就会显示第一个选项卡,但是textbox没有焦点。

$('#barcodeselect').focus();从 a调用console确实有预期的效果,所以它不应该是一个错字或类似的东西..

是不是标签的更改会从 中窃取焦点textbox?如果是这样,有没有办法绑定标签更改正在完成而不是开始?还是我只是健忘?

4

1 回答 1

1

您应该使用tabsshow而不是tabsselect.

单击选项卡时会发生选项卡选择(这样您就可以取消返回 false 的选项卡更改)。

选项卡显示发生在选项卡最终被选中并显示时。

于 2012-06-07T16:21:55.950 回答