jQuery选项卡无法正常工作

时间:2013-11-07 21:11:02

标签: jquery

您可以在jQuery中引导我使用以下代码吗?我已经在活动中发出警报但我没有得到警报。

 <script type="text/javascript">
    $(document).ready(function() {
        alert("it alert me here"); // I am getting alert here.
        $("#listTabs").tabs({
            select:function(event, ui)
            {
                alert("this function is not calling."); // I am not getting alert here.
                var index = ui.index;
                if ($('#sideList-' + index).css("display") == 'none')
                {
                    flip('#sideList-' + index);
                }
            }
        });
    });

1 个答案:

答案 0 :(得分:1)

如Barbara Laird所述,jQuery UI Tabs没有“select”事件(至少不适用于jQuery UI 1.10.3)。也许您正在寻找"activate" event

$("#listTabs").tabs({
    activate: function (event, ui) {
        [...]
    }
});

http://jsfiddle.net/b4f3u/

编辑:

参考识别所选标签的ID:

实际标签(<li>)似乎没有ID。但是,它们内部的<a>标记可以。您可以从aria-labelledby对象的newTab属性中引用这些ID。

var newTabLinkID=ui.newTab.attr('aria-labelledby');

http://jsfiddle.net/b4f3u/3/

但是,您似乎可能指的是新的PANEL而不是新的标签。您可以直接从newPanel对象的属性获取新面板的ID:

var newPanelID=ui.newPanel.attr('id');

http://jsfiddle.net/b4f3u/4/

编辑:

请记住,newTabnewPanel是jQuery对象。您可以选择适当的“sideList”来引用这些对象。如果你的“sideLists”在面板内部,那么这样的事情可能是合适的:

var $newPanel = ui.newPanel;
var $sideList = $('.sideList',$newPanel);

我不确定您的HTML是如何构建的,但如果您可以在问题中包含这些内容,我会进行调查。可能希望在您使用flip()功能时加入它。