由于UpdatePanel中的异步请求,当新元素出现在DOM中时,我正在尝试运行一些jQuery初始化代码。我似乎无法在endRequestHandler的参数中找到我想要的数据。
任何人都知道我要找的数据在哪里?
function onEndRequest(sender, e) {
// run some jQuery initialization code (e.g. .tabs())
// here. but only on the affected updatepanel(s)
}
with (Sys.WebForms.PageRequestManager.getInstance()) {
add_endRequest(onEndRequest);
}
或者,我可以在响应中的HTML上运行初始化代码(如果可能的话)。有什么想法吗?
答案 0 :(得分:1)
您可以使用pageLoaded处理程序中的args.get_panelsUpdating();
来获取已刷新内容的更新面板集合。
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);
function pageLoaded(sender, args) {
var updatedPanels = args.get_panelsUpdated();
for (i=0; i < updatedPanels.length; i++) {
$(updatedPanels[i]).children('.tabContainer').tabs();
}
}
<强>参考文献:强>