0

我遇到了问题。

HTML 片段看起来像这样

<div id="mainTab">
    <ul>
        <li><a href='#tabs-1'>TabGroup1</a></li>
        <li><a href='#tabs-2'>TabGroup2</a></li>            
    </ul>
    <div id='tabs-1'>
        <a onclick="showSubTab1Tab2();">showSubTab1Tab2</a>
        <a onclick="showSubTab2Tab2();>showSubTab2Tab2</a>
    </div>
    <div id='tabs-2'>
        <!-- First Sub Tab -->
        <div id="subTab1">
            <ul>
                <li><a href='#tabs-3'>TabGroup3</a></li>
                <li><a href='#tabs-4'>TabGroup4</a></li>            
            </ul>
            <div id='tabs-3'>

            </div>
            <div id='tabs-4'>

            </div>
        </div>
        <!-- Second Sub Tab -->
        <div id="subTab2">
            <ul>
                <li><a href='#tabs-5'>TabGroup5</a></li>
                <li><a href='#tabs-6'>TabGroup6</a></li>            
            </ul>
            <div id='tabs-5'>

            </div>
            <div id='tabs-6'>

            </div>
        </div>
    </div>
</div>

和 javascript 看起来像这样。我正在使用 JQuery UI 1.10.3

$("#mainTab").tabs();

$( "#subTab1" ).tabs({
    activate: function( event, ui ) {
        // Update Some Logs
    }
});

$( "#subTab2" ).tabs({
    activate: function( event, ui ) {
        // Update Some Logs
    }
});

function showSubTab1Tab2() {
    $("#mainTab").tabs( "option", "active", 1);
    $( "#subTab1" ).tabs( "option", "active", 1);
}

function showSubTab2Tab2() {
    $("#mainTab").tabs( "option", "active", 1);
    $( "#subTab2" ).tabs( "option", "active", 1);
}

如果用户单击“showSubTab2Tab2”。我更改了主选项卡。将用户带到第二个选项卡。然后激活 subTab2 的第二个选项卡,如果该选项卡先前未处于活动状态,这将激活第二个选项卡并触发激活事件

现在问题来了。如果用户这样做两次,那么第二次激活事件不会被触发。我需要该事件在前端记录/填充一些代码。

我不能在我的功能中这样做。

4

2 回答 2

-1

如果您尝试检查之前的状态showSubTab1Tab2()

http://jsfiddle.net/S4nua/1/

于 2013-07-31T12:08:26.473 回答
-1

试试这个而不是你的“标签”代码。每次显示选项卡时都会触发:

$('a[href="#subTab2"]').on('shown', function () {
        ---- your code here ----
  });
于 2013-08-03T22:23:10.667 回答