2009-08-23 139 views
1

嘿,抱歉,這是一個討厭的,但我有另一個jQuery的問題。相同的代碼。jQuery - Div並沒有更新

$('.tab').click(function() { 
     $(this).unbind("click"); 

     var classy = $(this).attr("class").split(" ").splice(-1); 
     var ihtml = $('.content.'+classy).text(); 
     $('#holder').html(ihtml).slideDown("slow"); 

     $('.tab:not(.active)').live('click', function() { 
       $('.tab').removeClass('active'); 
       $(this).addClass('active'); 
     }); 

}); 

基本上,問題是,當我點擊選項卡,HTML內容將更新,但我已經按下一次後,它不會更新,內容仍然同前標籤。有任何想法嗎?

回答

3

您所擁有的代碼會從點擊的標籤中移除點擊處理程序事件。所以它會在第一次被點擊時觸發,但不會在其他時間觸發。

刪除此行:

$(this).unbind("click"); 
+0

我需要解除綁定的點擊事情當前選項卡,但因爲如果我不這樣做,雙擊導致消失的內容。有任何想法嗎? – Johnny 2009-08-23 17:51:54

+0

您可以檢查點擊的選項卡是否已經「激活」,然後忽略點擊。例如:if($(this).is(「.active」)){return; } – 2009-08-23 18:07:10