如何将函数添加到使用.load加载的HTML代码中

时间:2014-05-16 00:34:54

标签: jquery html responsive-design

我正在使用.load()加载一段HTML代码。它工作正常:

$( "#main-nav header nav" ).load( "main-nav.html" );

但是我想为此添加一个功能。我正在使用meanmenu插件。它几乎可以工作但不完全:

$( "#main-nav header nav" ).load( "main-nav.html" ).meanmenu({meanScreenWidth: "790"});

这是怎么回事:

1-设置下拉菜单,窗口大小约为800px 2-加载具有该窗口大小的页面时,会出现汉堡菜单。但是下拉功能不起作用。 3-如果你把窗户放大,然后再缩小,一切都很好。 4-当我删除load()函数并将html直接放在页面中时,一切正常。

换句话说,插件可能有问题,但我不确定我是否在jquery中做错了什么。基本上,在通过load()检索HTML片段后,插件函数将附加到HTML。

在仔细查看结果之后,似乎直到我稍微调整窗口从较小(400px宽度)到较大(402px)之后才加载HTML。当我将其放回400px宽度时,菜单仍然有效,因为HTML现已加载。

1 个答案:

答案 0 :(得分:2)

您需要利用.load()函数提供的回调函数。 http://api.jquery.com/load/

e.g。

$("#main-nav header nav").load("main-nav.html", function(){
  $(this).meanmenu({meanScreenWidth: "790"});
});