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

发布于 2024-10-30 01:20:02 字数 671 浏览 3 评论 0原文

是否有可用于 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;
    }
};

Are there event listeners available for jQuery UI's tabs widget?

I'm wanting to change the background colour on a web page depending on what tab index is currently active. So something like this (pseudo code):

$('.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;
    }
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

暮光沉寂 2024-11-06 01:20:02

看来旧版本的 jquery ui 不再支持 select 事件。

此代码将适用于新版本:

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

it seems the old's version's of jquery ui don't support select event anymore.

This code will work with new versions:

$('.selector').tabs({
                    activate: function(event ,ui){
                        //console.log(event);
                        console.log(ui.newTab.index());
                    }
});
爱的十字路口 2024-11-06 01:20:02

使用 tabsactivate 事件

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

Use tabsactivate event

$('#tabs').on('tabsactivate', function(event, ui) {
    var newIndex = ui.newTab.index();
    console.log('Switched to tab '+newIndex);
});
反差帅 2024-11-06 01:20:02

使用tabsshow事件,索引将从0开始。

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

Use tabsshow event, Index will be start from 0.

$('#tabs').bind('tabsshow', function(event, ui) { 
  switch (ui.index){
    case 0: 
        $('body').css('background-image', '/images/backgrounds/1.jpg');
        break;
  }
});
黯然 2024-11-06 01:20:02

是的:“事件”下的 http://jqueryui.com/demos/tabs/

工作示例:< a href="http://jsfiddle.net/g7Q2L/" rel="nofollow">http://jsfiddle.net/g7Q2L/ (我使用嵌入值而不是索引来减少标记的耦合与代码)

检查文档,您可以 .bind( "tabsselect", function(){}) 在启动选项卡时添加 select 属性到初始化对象,就像我的 jsfiddle 示例中一样。

Yep: http://jqueryui.com/demos/tabs/ under "Events"

Working example: http://jsfiddle.net/g7Q2L/ (I used embedded values and not the index to make the markup less coupled with the code)

Check the docs, you can .bind( "tabsselect", function(){}) or when you initiate tabs add a select property to the initiliasing object like in my jsfiddle example.

梦情居士 2024-11-06 01:20:02

选项卡插件有一个“show”事件,每当显示选项卡时就会触发该事件。

检查文档中的事件> http://jqueryui.com/demos/tabs/

the Tabs plugin have a 'show' event which is fired whenever a tab is shown.

check the events in documentation > http://jqueryui.com/demos/tabs/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文