jqueryui 选项卡 (1.9.1) 在加载时激活

标签 jquery jquery-ui jquery-ui-tabs

我有这样的代码:

var enTabs = {
  "Layout": 0,
  "Edit": 1,
  "Stuff": 2
}

$("#tabs").tabs({
    activate: function (event, ui) {
        switch (ui.newTab.index()) {
            case enTabs.Layout:
             // loads remote data, processes it, draws it to this tab;
            break;

            case enTabs.Edit:
             // loads remote data, processes it, draws it to this tab;
            break;

            case enTabs.Stuff:
             // loads remote data, processes it, draws it to this tab;
            break;

        }
    }
}).tabs("option","disabled",[enTabs.Edit,enTabs.Stuff]);
console.log("active tab", $("#tabs").tabs("option","active")); // says "0"

根据 jQuery“按设计”声明 (http://bugs.jqueryui.com/ticket/8735),activate首次绘制选项卡时不处理事件;或者当您设置.tabs("option","active",enTabs.Layout)时因为如果当前索引与您设置的选项/事件匹配,则 activate 不会触发,并且它被初始化为零。

确保首次绘制选项卡时,为第一个(第 0 个)选项卡触发“激活”的最佳方法是什么,意识到我不想绑定(bind)到“创建”,因为我不想在选项卡上加载数据直到实际单击它们?

我没能做到

$("#tabs").tabs( "option", "active", -1 ).tabs( "option", "active", enTabs.Layout)

始终如一地工作。

最佳答案

你可以使用这样的东西

function loadTab(index) {
   switch (index) {
        case enTabs.Layout:
         // loads remote data, processes it, draws it to this tab;
        break;

        case enTabs.Edit:
         // loads remote data, processes it, draws it to this tab;
        break;

        case enTabs.Stuff:
         // loads remote data, processes it, draws it to this tab;
        break;

    } 
}
 $(function () {
      $("#tabs").tabs({
          create: function (event, ui) { loadTab(ui.tab.index()) },
          activate: function (event, ui) { loadTab(ui.newTab.index()) }
      });
 });

这里有一个类似的问题 JQuery UI tabs 1.10.0 activate is not called after creation

关于jqueryui 选项卡 (1.9.1) 在加载时激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16783665/

相关文章:

javascript - 在 iframe 的文档和/或 shadow-root 中注入(inject) html dom

jquery - 如何将 jQuery 自动完成与 POST 查询连接到远程数据源?

jquery - 当asp.net按钮单击事件完成时运行jquery函数

javascript - jquery如何按文本输入对数组进行排序

jquery - 使用 jQuery 切换功能时 IE10 中隐藏 div 'smears' 的边框半径

JQuery UI 选项卡 - "Loading..."消息

JavaScript 不适用于单个 HTML 页面上的所有选项卡

javascript - JQuery UI 可选() : Check if only one element is selected

javascript - JQuery UI 自动完成从输入中获取两个信息

jquery - 在 JQuery UI 选项卡中单击时刷新选项卡内容