在我们将焦点设置到特定控件之前,如何确保 <div> 元素在 AJAX 调用中完全加载

How ensure <div> elements gets completely loaded in AJAX call before we set focus to a particular control

我有 aspx 页面。在此页面中,我有 [div id="popUp"]。这仅在用户单击按钮时加载。

我正在使用 jquery ajax 调用来加载数据并将返回的 HTML 放入匹配的元素中。我在普通的 js 文件中做所有这些。

类似于: 1. $( "#popUp" ).load( "xyz/test.html"); 2. $('FirstControl').focus();

所以在执行第一条语句后,我的 aspx 页面中的 DIV 具有来自 test.html 的数据,但我没有关注 test.html 页面的第一个控件。

我认为这是因为异步调用。

任何人都可以建议我如何将焦点设置在此加载页面的特定元素上 xyz/test.html.

P.S.- 我不想将其设置为 html 或 page_load() 的 document.ready,因为它几乎没有缺点。

如果是由于异步和加载延迟或在加载元素之前聚焦,您能否提出任何可以让这 2 个语句按顺序发生的建议?

您可以将回调传递给加载方法:

$( "#popUp" ).load( "xyz/test.html", function() {
    $('FirstControl').focus();
});

该回调将在 ajax 完成将内容加载到 div 后执行。