2016-08-04 4 views
0

次のコードでは、アクティブなタブのIDを確認していますが、ページが最初に読み込まれたときに一度だけ確認します。jquery連続してイベントを実行する

jQuery(document).ready(function(){ 
     var id_of_tab = jQuery('#member-registration .tab-pane.active').attr('id'); 
     console.log(id_of_tab); 
}); 

私は、ユーザーがこのタブをアクティブにすることのできる様々な方法があるよう(、継続的にアクティブなタブのIDを確認するために、このコードが必要、と私は多くのクリックやホバーイベントを試みたが、アイブ発見しましたすべての問題)。

クリック/ホバー(以下の例など)で発生するのではなく、実行中のタブを変更してアクティブなタブが変化した場合に変数値を変更する必要があります。事前に

jQuery(document).ready(function(){ 
    $(".view-registration").hover(
     function() { 
     var id_of_tab = jQuery('#member-registration .tab-pane.active').attr('id'); 
     console.log(id_of_tab); 
     }); 
}); 

多くの多くのおかげで誰もがこの1に苦労し、長い一日の仕事の終わりにイムとイムを助けることができれば!

+0

? 1つの方法でインターバル(['' setInterval() '](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval))を設定することができますが、私はそれをお勧めしません – empiric

+0

' jQuery( '#member-registration ... 'はすでにIDで選択していますが、IDは一意である必要があります) – theblindprophet

+1

これらのJQueryUIのタブはありますか?もしそうなら、活性化イベント –

答えて

0

複数のイベントを1つの関数ハンドラにバインドできます。
ここで提案するのはコード例のための唯一の提案です。
バインドする正しいイベントを決定するのはあなた次第です。

こちらをご覧リスト:http://www.quirksmode.org/dom/events/ユーザーがタブと対話することができますどのように

$(document).ready(function(){ 
    $("#member-registration").bind("change mouseover click input",function(){ 
     var id_of_tab = $(this).attr('id'); // Will alway return #member-registration 
     console.log(id_of_tab); 

     // Suggested console message ;) 
     console.log("An event occured on #member-registration"); 

     // Maybe a check for the `active` class? 
     if($(this).hasClass("active")){ 
      console.log("#member-registration is active."); 
     } 
     }); 
}); 
+0

こんにちは、多くのありがとう!!!!!!!!あなたは私の携帯電話(任意のタッチスクリーンデバイス)を除いて、これは素晴らしい(よく私はいくつかのマイナーチェンジをしなければならなかった)ことを知っている...これらの上で動作するかもしれない何かのためのアイデア? – jimmywiddle

+0

私は 'tap'、' touchstart'と 'touchend'を知っています...ここにリストする:https://api.jquerymobile.com/category/events/ –

+1

私はあなたを愛しています。とても感謝しています!!!!!!! – jimmywiddle

関連する問題