0
$('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各种组合,但似乎没有任何效果。关于这一点的更多信息是我正在动态创建第二个选项卡。当我重新加载特定位置时,我会清除 subTab 并重建它。这就是我将问题缩小到的地方。

4

1 回答 1

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 。

于 2012-08-19T00:39:00.607 回答