不在单击事件上调用jquery选项卡激活功能

时间:2014-11-26 20:29:01

标签: javascript jquery tabs

我正在处理一个加载大量数据的页面。我正在努力使其更加用户友好,现在,它只是加载所有内容,我想让它加载除了框架然后加载信息时打开特定的选项卡。这有效。但是我也想利用jquery使用url哈希片段自动打开选项卡的能力。这也有效,除了在这种情况下不调用下面定义的on select函数。

$("#tabs").tabs({
    show: function(event, ui) {
        $('#tabs ul li a').click(function () {

            var sSelectedTab = updateUrl($(this).attr('href'));
            // Get the current vertical scroll position
            var iCurrentWindowPosition = $(window).scrollTop();
            location.hash = sSelectedTab;
            // Put the vertical scrolled position back to where it was
            $(window).scrollTop(iCurrentWindowPosition);
        });
    },
    select: function(event, ui) {

            switch (ui.index) {

                case 1:

                    // Corresponds to "Drives" tab
                    createSpinAnimation("#tabs");
                    $.post("ajax_api.php",
                        {

                            sAction: "loadData1"
                        },
                        function(data) {
                            //do things with data here
                        }
                    );
                    break;
             }
     }
});

我尝试以编程方式单击选项卡($('#tabs a[href="' + location.hash + '"]').click()),但由于该选项卡已被选中并处于活动状态,因此将忽略该单击。 如何在点击标签外调用select:功能?

1 个答案:

答案 0 :(得分:0)

我并非100%确定您要完成的任务,但我可以就如何从标签内部调用select进行部分回答。

$('#tabs').tabs("instance").select(null, {index: 0});

$('#tabs').tabs("select", null, {index: 0});

我认为这可能会帮助您深入了解以对象方式访问任何ui函数。

一个。