在我们将焦点设置到特定控件之前,如何确保 <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 后执行。
我有 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 后执行。