2016-02-01 57 views
0

我正在使用jQuery手風琴,並希望讓選定的面板看起來不同於jQuery UI。爲了實現這一點,我不想讓活動標題上的「ui-state-active」類 - 而且我不知道如何實現這一點。阻止jQuery手風琴添加UI狀態

我目前的嘗試:

$('#MyAccordion').accordion({ 
    heightStyle: "content", 
    collapsible: true, 
    active: 0, 
    activate: function() { 
     $('#MyAccordion h3').removeClass("ui-state-active"); 
    }, 
    create: function() { 
     $('#MyAccordion h3').removeClass("ui-state-active"); 
    }, 
    beforeActivate: function() { 
     $('#MyAccordion h3').removeClass("ui-state-active"); 
    } 
}); 

JS小提琴演示在這裏:https://jsfiddle.net/SchweizerSchoggi/u2c6zcy6/1/

可以看到,選定面板的標題爲權利之前再次被刪除的類片刻越來越白。但是,我怎樣才能防止面板頭變白(讓類ui-state-active)呢?

+0

喜添加CSS類 - '的.ui-手風琴頭主動{背景:石灰; } 你的風格 –

+0

爲什麼?根據其他參數,我在手風琴的不同h3-header上設置了不同的CSS類。我希望這些類保持可見狀態,即使在h3標題處於活動狀態時也是如此。所以這就是爲什麼我必須在這裏刪除ui-state-active。 – SchweizerSchoggi

+0

如果您不想更改類,則更新您的活動事件處理程序,如 'activate:function(event,ui){(ui).addClass(「ui-state-active」); }' 並在CSS更改'背景顏色'到'背景' –

回答

1

您可以添加也單擊事件偵聽器:

$('#MyAccordion').on('click', '.ui-accordion-header', function(e){ 
     $(this).removeClass("ui-state-active"); 
}); 
+0

那簡單..... ouch !!非常感謝! – SchweizerSchoggi

+0

不客氣! – smkrtchyan