繁体   English   中英

以编程方式更改活动选项卡时,不会从JQuery UI选项卡中删除ui-state-focus类

[英]ui-state-focus class not being removed from JQuery UI tab when changing active tab programatically

我正在使用jquery热键插件,并将按下按键的内容绑定到我的JQuery UI选项卡,如下所示:

$(document).bind('keydown', '2', function (evt){ 
    $("#TabsID").tabs("option", "active", 1); 
    return false; 
});`

问题是,如果我单击一个选项卡,然后使用快捷键选择另一个选项卡,则前一个选项卡仍将按ui-state-focus进行样式设置,如下所示:

<li class="ui-state-default ui-corner-top ui-state-focus" role="tab" 
    tabindex="-1" aria-controls="foo" aria-labelledby="ui-id-5" 
    aria-selected="false">
    <a href="#foo" class="ui-tabs-anchor" role="presentation" tabindex="-1" 
        id="ui-id-5">
        Foo text
    </a>
</li>

一直这样,直到我单击其他位置。 我正在使用jQuery UI 1.10.3,jQuery 2.0.1和jQuery Hotkeys 0.8。

我现在解决该问题所要做的就是将其放入我所有的keydown绑定中

$("#foo").find("li.ui-state-focus").removeClass('ui-state-focus');

但是我想知道是否有更好的解决方案。

经过一些测试,我认为删除类是最好的方法,无需为此简单的任务编写更多代码,这应该可以完美地工作:

$(document).bind('keydown','2',function(evt){

  $("#tabs").find("li.ui-state-active").removeClass('ui-state-active'); $( "#tabs" ).tabs( "option", "active", 2 ); return false; }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM