2012-07-19 44 views
0

我有很簡單的jQuery手風琴,它工作正常,現在的問題是,如果我無論是從數據庫或JSON頁面動態加載手風琴的內容,這是行不通的,因爲沒有信息DOM瞭解類或新注入的ID。所以我試圖使用Jquery ON而不是實況或委託來捕獲注入的元素。我的示例代碼。「對」如何使用Jquery「ON」預處理HTML內容?

jQuery("#header").on("click", function() { 
.... my accordion code here 
}); 

但jQuery將觸發像點擊或什麼的,所以如何處理手風琴HTML內容,以保持在初始水平的開放,做進一步的點擊任何事件。

這怎麼可能?我不能罰款任何解決方案

+0

你能粘貼一些HTML太?你只想要一個正常的手風琴家嗎? – 2012-07-19 07:20:27

+0

我不希望任何手風琴代碼,請點擊這裏查看我的手風琴代碼http://www.stemkoski.com/downloads/jquery-accordion-menu-update/example.htm – manny 2012-07-19 07:23:34

+0

它真的很難理解你的問題。你用'jQuery.on'描述了一個沒有意義的問題('「on」會觸發任何事件,比如點擊或者什麼東西)。我看了一下你的JS代碼,我認爲你應該使用'jQuery.on'而不是'jQuery.click',就像這樣:'$('。accordionButton')。on({click:function(){/ * whatever * /},mouseover:function(){/ * * /}});'如果你想動態創建手風琴模塊。 – Nemoden 2012-07-19 07:31:55

回答

0

檢查:http://jsfiddle.net/RMBpt/

我加:

var isActive = $(this).is('.on'); 
if(!isActive) { .. if active, it shouldn't collapse? } 

//First element should be active, needs to be after the hide() 
$('.accordionButton:first').addClass('on').next().slideDown('normal'); 

嘗試使用這樣的:

$("#wrapper").on("click", ".accordionButton", function(event){ 
    //Your accordian code here 
}); 
+0

感謝Marco,你讓我的手風琴更靈活一點。我會更新,但我真正的問題在「on」 – manny 2012-07-19 07:48:27

+0

更新了代碼。你可以嘗試建議的代碼? :) – 2012-07-19 08:05:47

+0

我想你的代碼,它總是打開第一手風琴不是一個我一下,一開始一切都保持開放,我想在的jsfiddle也相同,則獲得相同的結果有 – manny 2012-07-19 09:02:57