2014-01-22 84 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