2012-01-29 10 views
0

私はAjaxのコンテンツをロードするjQueryのUIのタブを使用していますし、私が取得する方法を思ったんだけど:.tabsの外のjQuery UIのタブアクセスui.tab()

$.data(ui.tab, 'load.tabs'); 

.tabsの外()

は、実際に私はそう:

$("#boards").tabs({ 
    select : function(event, ui) { 
       $.data(ui.tab, 'load.tabs'); 
    }, 
}); 

しかし、私は可能です).tabs(のui.tab外にアクセスしたいですか?どうやって?

答えて

1

その内部に設定したselect関数以外の変数を使用できます。しかし、絶対に必要な場合を除き、これはグローバル変数であってはなりません。 select関数は、その変数にアクセスする前に少なくとも1回は呼び出されていなければならないことに注意してください(関数内に設定されているため)。

/* This is not recommended to be a global context */ 

var myUiTabVariable; 
$("#boards").tabs({ 
    select : function(event, ui) { 
     myUiTabVariable = ui.tab; 
     MyFunction(); 
    } 
}); 

function MyFunction() { 
    //Here you can use the ui.tab varible outside of the select function 
    console.log(myUiTabVariable); 
} 

もう一度、 select機能が少なくとも一度呼び出されていない限り、あなたは MyFunctionを呼ぶべきではないことに注意してください:このようなものになるでしょう 。それ以外の場合は myUiTabVariableは未定義です。

+0

私は関数にmyUiTabVariableを渡すべきだと思いますが、それはうまくいくはずです。私は調査して答えがうまくいくかどうかを調べるために、今は+1 –

+0

を与えましたが、イベントを選択 –

+0

よく私はどのように、なぜあなたは、そのオブジェクトを単独で使用したいと思うか分かりません。タブウィジェットのselectイベントによって生成される引数です。発生する選択イベントに関連してのみ使用する必要があります。たぶん、元の質問を編集して、達成しようとしていることをもう少し詳細に説明してください。より効率的にお手伝いできるでしょう:) –