jQuery UI选项卡的事件监听器?

Mar*_*ean 9 javascript jquery jquery-ui javascript-events jquery-ui-tabs

是否有可用于jQuery UI的标签小部件的事件监听器?

我想根据当前活动的选项卡索引更改网页上的背景颜色.这样的事情(伪代码):

$('.tabs').addEventListener(index, changeBackgroundImage);

function changeBackgroundImage(index) {
    switch (index) {
        case 1:
            $('body').css('background-image', '/images/backgrounds/1.jpg');
        break;
        case 2:
            $('body').css('background-image', '/images/backgrounds/2.jpg');
        break;
        case 3:
            $('body').css('background-image', '/images/backgrounds/3.jpg');
        break;
        default:
            $('body').css('background-image', '/images/backgrounds/default.jpg');
        break;
    }
};
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Pjl*_*Pjl 17

似乎旧版本的jquery ui不再支持select事件了.

此代码适用于新版本:

$('.selector').tabs({
                    activate: function(event ,ui){
                        //console.log(event);
                        console.log(ui.newTab.index());
                    }
});
Run Code Online (Sandbox Code Playgroud)


Ali*_*gji 12

使用tabsactivate事件

$('#tabs').on('tabsactivate', function(event, ui) {
    var newIndex = ui.newTab.index();
    console.log('Switched to tab '+newIndex);
});
Run Code Online (Sandbox Code Playgroud)


JS *_*rah 9

使用tabsshow事件,Index将从0开始.

$('#tabs').bind('tabsshow', function(event, ui) { 
  switch (ui.index){
    case 0: 
        $('body').css('background-image', '/images/backgrounds/1.jpg');
        break;
  }
});
Run Code Online (Sandbox Code Playgroud)