所以我使用延迟加载的jqueryui标签(1.10.4)并且我知道如何看到加载事件触发,但是,每个标签上都会有一个表单,并且(我认为)我需要在每个标签事件上绑定我的可点击按钮事件。但我不知道如何判断哪个标签已被加载。我可以告诉(使用activate事件)选择了哪个选项卡,但我需要知道加载特定选项卡的时间。
任何建议都表示赞赏。
$(function() {
$("#tabs").tabs({
load: function( event, ui ) {
// console.log(ui.tab.id);
},
activate: function( event, ui ) {
var $activeTab = $('#tabs').tabs('option', 'active');
switch($activeTab) {
case 0:
// **************************************************************
// Tab #1 here
// **************************************************************
console.log("first tab");
break;
case 1:
// **************************************************************
// Tab #2 here
// **************************************************************
console.log("second tab");
break;
default:
// No tab code
}
}
})
// $("#tabs").bind("tabsload", function(e, tab) {
// alert("The tab at index " + tab.index + " was selected");
// });
})
答案 0 :(得分:0)
在加载函数中,ui.panel是对已加载的选项卡的引用。例如:
$(function() {
$("#tabs").tabs({
load: function( event, ui ) {
console.log(ui.panel);
console.log(ui.panel.attr('id'));
if(ui.panel.attr('id') == 'panel-1'){
// bind click events on #panel-1 form
}
}
});
})
或者 - 您可以考虑使用jQuery的.on()方法在页面加载时执行事件处理程序绑定。