我在ASP.Net中有一个母版页面,它通过AJAX下载各种文件,并为库做一些初始化工作。为此,我使用jQuery的$.when().then语法。
我的个人页面要求在执行其代码之前进行所有这些设置。现在,我正在页面上使用$(function () {})语法。问题是,它在页面呈现后立即执行,但在我的when.then构造完成之前很久才执行。
有办法等那个建筑吗?我是否可以在初始化后从母版页代码中触发一个自定义事件,并将我的内容页函数附加到它上?还是有更好的解决方案?
PS:为了说明这一点,我们在这里讨论的是客户端的代码!
发布于 2017-04-05 16:40:02
不要在文档就绪的$(function () {})
中包装,而是在自定义事件中包装。
$(document).on('mycustom',function () {});
然后在then
中触发
$.when().then(something).then(function(){$(document).trigger("mycustom");});
发布于 2017-04-05 16:40:44
在母版页中,可以将时间/然后链设置为变量,并继续将其链接到详细信息页中。毕竟,他们是一个页面的客户端。因此,只要初始链放在第一位,您就可以随心所欲地添加到它的后面。
因此,您可以将第一条链设置为变量:
var eventChain = $.when(/.../).then(/.../);
然后在详细信息页中:
eventChain.then(/.../);
因此,详细信息页实际上只是拾取母版页停止的位置。
https://stackoverflow.com/questions/43236881
复制相似问题