$('li > a').click(function (event, ui) {
location = $(this).attr('href');
if (location != "gala") {
actions.load_location(location);
} else {
actions.bp_gala();
}
});
or
$("#tabs").tabs(show: function (event, ui) {
switch (ui.index) {
case 0:
actions.load_location("home");
break;
case 1:
actions.bp_gala();
break;
case 4:
actions.load_location("barcelona");
break;
case 5:
actions.load_location("cruise");
break;
}
//window.location.replace(ui.tab.hash);
}
});
我尝试添加event.stopPropagation()
但事件似乎在第一次点击后冒泡/标签。在$(Document).ready
和各种组合中尝试过,但似乎没有任何效果。关于这一点的更多信息是我正在创建第二个选项卡。当我重新加载特定位置时,我清除了子标签并重建它。这就是我将问题缩小到的地方。
答案 0 :(得分:0)
$("#tabs").tabs({
show: function(event, ui) {
switch(ui.index)
{
case 0:
$('#home').html('<div id="homeSubtabs"><ul></ul></div>');
actions.get_job_list("home");
break;
case 1:
actions.bp_gala();
break;
case 4:
$('#barcelona').html('<div id="barcelonaSubtabs"><ul></ul></div>');
actions.get_job_list("barcelona");
break;
case 5:
$('#cruise').html('<div id="cruiseSubtabs"><ul></ul></div>');
actions.get_job_list("cruise");
break;
}
//window.location.replace(ui.tab.hash);
}
});
解决了!在动态创建子选项卡时,您需要清除我正在调用的函数外部的内容。正如你可以看到开关内的div。