单击“创建”按钮时,我将弹出部分视图CREATE
。
这意味着在点击按钮时动态地将div附加到主视图。
生成这个div并加载其中的所有元素后,我想调用javascript函数。
我能找到的所有答案都在使用.load()
事件,但我的情况有所不同。我没有使用("#div").load(URL, function(){});
加载部分视图div我的div是动态生成的
请提供一些帮助
答案 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()
更容易;这就是创建它的原因。)