2014-01-22 94 views
0

我正在嘗試執行頁面主體中的html頁面的jquery加載。將樣式應用於包含jQuery的html文件

使用位於頁面中間的名爲sidebar_menu的div, 我在頁面的末尾(底部)執行jquery加載。

$("#sidebar_menu").load("/sitemenu.html"); 
    $("#sidebar_menu").page(); 

還挺作品......顯示內容,但菜單不具備JavaScript功能(展開,摺疊等),適用於它。樣式已應用,但菜單的功能不存在。

我可以複製html的內容而不是div,菜單操作也可以。

我是否在堆棧中加載包含的文件太遲?目前使用的

jQuery(document).ready(function(){ 
    $("#sidebar_menu").load("/sitemenu.html"); 
    $("#sidebar_menu").page(); 
}); 

,但有沒有更好的區域加載HTML文件到DOM,爲的.ready似乎是在頁面組件疊層來不及運作。

謝謝

+1

__沒有javascript功能___。 [事件代表團](http://learn.jquery.com/events/event-delegation/)隊友。看到我的答案http://stackoverflow.com/questions/21267439/event-listener-for-dynamically-created-elements/21267469#21267469 – Satpal

+0

謝謝你的迴應Satpal - 所有的JavaScript代碼是在一個不同的js集文件。正如我所提到的,如果我從代碼中包含html文件,並將其粘貼到div中,則該頁面可以正常工作,只要我拔出代碼,然後重新啓用jquery jam-in-the- HTML代碼,它失敗了。 – pithhelmet

回答

0

有很多JQuery方法去掉Javascript。我很難學會它。研究一下。這可能不是你猜測的問題。解決方法是不要在服務器端生成JS,而是在客戶端使用parameter,config等值作爲某些HTML元素的服務器端的某些DATA元素值傳遞。您分配給DATA的字符串也可以是JSON字符串。

0

你應該使用jQuery。對()方法見http://api.jquery.com/on/

我不知道你的代碼的樣子。但這是主意。以DOM中最接近的容器(存在於DOM中)(不在DOM中)和,爲要加載的元素分配選擇器和動作。

+0

有很多功能......並且所有的代碼已經存在於其他地方的js文件中。 – pithhelmet