2016-05-03 98 views
0
$("div.accordion").accordion({ 
       autoHeight: false, 
       collapsible: true, 
       active: false, 
       icons: false, 
       heightStyle: "content", 
       create: function(event, ui) { 
        if($.trim($(ui.newPanel).html()).length == 0){ 
        $(ui.newHeader).find('span').removeClass('glyphicon').removeClass('glyphicon-plus').removeClass('glyphicon-minus').addClass('glyphicon-none'); 
        } 
       } 
}); 

我試圖在jquery手風琴上實現這個創建功能,但似乎並沒有在手風琴創建時觸發。Jquery手風琴創建功能

如果我把這個代碼放到beforeActivate事件中,它會觸發得很好。

手風琴創建時如何獲取此if語句以啓動?

回答

0

語法無誤。所以,唯一合乎邏輯的解釋是您的if支票未評估爲true。爲了確保,請添加此代碼並查看它是否觸發了任何內容到您的控制檯中。

$(document).ready(function(){ 
    $("div.accordion").on("accordioncreate", function(){ 
    console.log('YES! It is working just fine.'); 
    }); 
}); 
+0

很好的一點@Uzbekjon。控制檯確實記錄它。我認爲我的問題與ui.newPanel有關。 create函數不使用ui.newPanel,但恐怕我不知道它的用途。 – FoxMcCloud

+0

'ui'只有'header'和'panel'。只需查看[文檔](http://api.jqueryui.com/accordion/#event-create)即可。 – Uzbekjon

+0

如果它們關閉並且將是空對象,如何遍歷面板?我需要檢查它們是否爲空,並根據結果更改標題的類。 – FoxMcCloud