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あらゆる種類の組み合わせで試してみましたが、何も機能しないようです。これに関するもう少し詳しい情報は、その場で 2 番目のタブを作成していることです。特定の場所をリロードすると、サブタブをクリアして再構築します。ここまで問題を絞り込みました。

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 に答える