次のようなコードがあります。
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)
、現在のインデックスが設定したオプション/アクティブと一致し、ゼロに初期化されている場合、アクティブ化が起動しないため、設定した場合。
最初にタブを描画するときに、データをロードしたくないので「作成」にバインドしたくないことを認識して、最初の (0 番目の) タブに対して「アクティブ化」が実行されるようにする最善の方法は何ですか?タブが実際にクリックされるまで?
私は作ることができていません
$("#tabs").tabs( "option", "active", -1 ).tabs( "option", "active", enTabs.Layout)
一貫して働きます。