如何使用“load”事件访问jqueryui选项卡索引

时间:2014-04-17 16:12:43

标签: jquery jquery-ui events tabs

所以我使用延迟加载的jqueryui标签(1.10.4)并且我知道如何看到加载事件触发,但是,每个标签上都会有一个表单,并且(我认为)我需要在每个标签事件上绑定我的可点击按钮事件。但我不知道如何判断哪个标签已被加载。我可以告诉(使用activate事件)选择了哪个选项卡,但我需要知道加载特定选项卡的时间。

任何建议都表示赞赏。

$(function() {


$("#tabs").tabs({
    load: function( event, ui ) {

//          console.log(ui.tab.id);

    },

    activate: function( event, ui ) {

        var $activeTab = $('#tabs').tabs('option', 'active');
        switch($activeTab) {
            case 0:
// **************************************************************               
// Tab #1 here 
// **************************************************************
                console.log("first tab");
                break;
            case 1:
// **************************************************************
// Tab #2 here          
// **************************************************************
                console.log("second tab");
                break;


            default:
            // No tab code
        }

    }
})

//    $("#tabs").bind("tabsload", function(e, tab) {
//        alert("The tab at index " + tab.index + " was selected");
//    });


})

1 个答案:

答案 0 :(得分:0)

在加载函数中,ui.panel是对已加载的选项卡的引用。例如:

$(function() {


    $("#tabs").tabs({
        load: function( event, ui ) {

            console.log(ui.panel);
            console.log(ui.panel.attr('id'));

            if(ui.panel.attr('id') == 'panel-1'){
                // bind click events on #panel-1 form
            }

        }
    });


})

或者 - 您可以考虑使用jQuery的.on()方法在页面加载时执行事件处理程序绑定。