2012-08-07 87 views
1

小提琴:http://jsfiddle.net/vuKqw/60/添加活動類沒有點擊了兩次,當去除

什麼可以讓「活動」類,以保持連接到一個項目被點擊了兩次的時候嗎?預期的行爲是,只有當新標籤被點擊時,它纔會改變類。否則,例如,如果同一個選項卡被點擊兩次,它應該保持「激活」,而不是在激活狀態和非激活狀態之間切換。

$('nav li a').click(function() { 
    $(this).parent().toggleClass('active').siblings().removeClass('active'); 
}); 

參考:Jquery change class on click menu


我最終打破它變成一個功能: http://jsfiddle.net/vuKqw/72/

function tabchange() { 
var parent = $(this).parent(); 
    if(!parent.hasClass('active')) { 
     parent.addClass('active').siblings().removeClass('active'); 
} 
}; 

$('nav li a').click(tabchange)​ 

謝謝@Madbreaks爲指出我在正確的答案 - 方向。

回答

2

首先檢查,看是否父處於活動狀態:

$('nav li a').click(function() { 
    var parent = $(this).parent(); 
    if(!parent.hasClass('active')){ 
     parent.addClass('active').siblings().removeClass('active'); 
    } 
}); 

的使用注意事項,而不是「toggleClass」的「addClass」 - 更好地在以下情況下更具體的,你知道你在做什麼(意圖只有添加類)。

乾杯

+0

完美,除了你失去了一個閉幕式)在你的評估。謝謝! – CaseyHunt 2012-08-07 19:43:17

+0

確實,我是,修好了。很高興我能幫上忙。 – Madbreaks 2012-08-07 19:58:45