渲染部分视图时调用javascript函数

时间:2016-07-11 12:44:33

标签: javascript jquery ajax model-view-controller

单击“创建”按钮时,我将弹出部分视图CREATE

这意味着在点击按钮时动态地将div附加到主视图。

生成这个div并加载其中的所有元素后,我想调用javascript函数。

我能找到的所有答案都在使用.load()事件,但我的情况有所不同。我没有使用("#div").load(URL, function(){});加载部分视图div我的div是动态生成的

请提供一些帮助

1 个答案:

答案 0 :(得分:1)

JavaScript同步执行。如果您使用jQuery构建“视图”然后将其插入DOM,那么只需在将标记插入DOM后执行“post render”代码。

$('#myContainer').append(someMarkup);
execSomePostRenderFunction();

如果您使用ajax从服务器加载部分视图/ html内容,那么您将使用load()函数并将您的帖子渲染代码放入回调中。

$('#myContainer').load('route/to/Partial', execSomePostRenderFunction);

或者您可以使用匿名函数:

$('#myContainer').load('route/to/Partial', function(){
    //...do something here
});

你的问题有点令人困惑,因为你有问题标记为ajax但是说你没有加载局部视图。您还可能希望指定您正在使用的MVC框架,以便有人可以为您提供更有针对性的指导。

例如,ASP.NET MVC中的部分视图是完全服务器端技术,在页面加载后呈现局部视图的唯一方法(如按钮单击事件)是通过ajax和{{1函数(您也可以使用load()$.get(),但$.ajax()更容易;这就是创建它的原因。)