タブを動的に作成するために jquery.ui を使用しています。さらに、各タブには展開可能なコンテンツがあるため、各タブが作成されたときに適切なイベントをバインドしたいと考えています。
上記のコードを使用してこれを行っています。
$('.ui-tabs-panel #activity').livequery(function(){
$(this.getElementsByClassName('activity')).expandAll({
expTxt : "More",
cllpsTxt : "Less",
ref : "div.collapse"
});
});
編集:私はコードでタブを作成しています:
function addTab(title, customer) {
//alert("AddTab. Title: " + title + " Customer: " + customer);
$tabs.tabs( "add", "#tabs-" + tab_counter, title );
$("#tabs-" + tab_counter).attr("name", customer);
tab_counter++;
return tab_counter;
}
$tabs = $("#tabs").tabs({
tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
add: function( event, ui ) {
var tab_content = $tab_content_input.val() || "Tab " + tab_counter + " content.";
$( ui.panel ).append( "<p>" + tab_content + "</p>" );
}
});
問題は、このコードがマウスをタブ名に渡したときにのみ実行され、タブが作成されたときに div を折りたたむことです。タブの作成時にこのコードを実行したい。このためのライブクエリイベントはありますか? ここで何が欠けていますか?