2012-10-31 3 views
15

「示す」タブのアクションを実行します。Twitterのブートストラップは - 私は、ブートストラップjQueryのタブセクションで選択したタブに基づいていくつかのページ情報を「リセット」する必要があるイベント

ドキュメントは、私が必要とする正確に何であるこのイベントを表示:http://twitter.github.com/bootstrap/javascript.html#tabs

$('a[data-toggle="tab"]').on('shown', function (e) { 
    e.target // activated tab 
    e.relatedTarget // previous tab 
}) 

私が独自にこれらの2つのタブと2タブを識別する、e.Targete.relatedTargetの「HREF」属性を取得する必要があります - それらがリンクされている内容ペイン。

は、ここに私の問題だ:eオブジェクトは、私が期待以上に慣れていないいくつかのオブジェクトです。私はe.target.attr('href')のようなjQueryメソッドを使用することはできません - 私が慣れていたすべての通常のjqueryメソッドはなくなりました。私は生のオブジェクト属性と同じようにアクセスしてみました - e.href、と私はこれで回避策をコーディングすることができますhttps://127.0.0.1/test?action=view#tab-a"ない#tab-a

を得た - しかし、私は明らかに間違って何かをやっています。そこに直接e.targetから#tab-aを取得する簡単な方法でなければなりません - しかし、私はそれを把握することはできません。

+1

ブートストラップ3に、我々はこれが(上の 'である必要があり、ブートストラップ3では代わりに –

+1

をshown.bs.tabを使用する必要があることに注意shown'' 'の代わりに '(上のshown.bs.tab''' – kalu

+0

e.target'はあなたにこの' httpsを与える '導入されたバージョン:?//127.0.0.1/testをあなたはどのように管理するアクション=ビュー#タブ-A'それは動作するのですか?これはまだ動作していません。 '$(" https://127.0.0.1/test?action=view#tab-a ")'は 'undefined'か' Syntax error、unrecognized expression ... 'を返します。 – Jaider

答えて

26

ではなく$(e.target).attr('href')を試してみてください。

+0

パネルのIDを取得e.target.hash'はどうもありがとうございました'でした。それは正確な答えでした。 –

+0

あまりにも悪い私は一度だけ投票できる、thnx –

1

タブインデックスが現在選択されているかどうかを知る必要がある場合は、DOMで手動でカウントしないでください。

#hrefが動的に更新され、タブインデックスでリレーできる場合は、を使用します。その兄弟要素にjQueryオブジェクトの相対内の最初の要素の位置を示す整数を返し.index()

jQueryの機能。ここによる後期パーティーに

var el = jQuery('#some .thing'); // some DOM node that contains tab html structure 
var tab_list = el.find('.tabbable').first().find('a[data-toggle="tab"]'); 
// event namespace ".bs.tab" is important in some versions of Bootstrap 
tab_list.on('shown.bs.tab', function(e){ 

    // zero based index 
    // jQuery function `.index()` returns zero-based DOM "order" index 
    tab_index = $(e.target).parent().index(); 

    // store this index to cookie or somwhere 
    // so that you can show that tab again when user comes back to page 
    // or makes a page refresh (F5) 
}); 
4

私の感想です:

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { 

    e.currentTarget ... 

}); 

e.currentTargetは、現在のアンカーは、ちょうどすべてが動作するはず

+0

ありがとう! 私たちはbootstrap2からbootstrap3にプロジェクトをアップグレードしていましたが、修正されました! – normalUser

0

これらをクリックします。

  1. $(e.target).attr('href');
  2. e.target.hash;
  3. $(this).attr('href');
  4. this.hash
関連する問題