【问题标题】:Wait until all DOM has been loaded等到所有 DOM 都加载完毕
【发布时间】:2019-02-24 19:51:35
【问题描述】:

我想知道在加载所有 DOM 时触发事件的最佳方法是什么。特别是,假设 HTML 页面包含多个 AJAX 请求。够用吗:

window.onload = function() { };

或:

window.addListener("DOMCreated", function() { });

答案应该是“否”,因为我尝试使用这两个功能,但是当我尝试使用document.getElementById("id") 时,我总是得到null

啊,我不能使用 jQuery。

【问题讨论】:

  • 我会推荐this页面

标签: javascript ajax dom domdocument


【解决方案1】:

你想要的是 DOMContentLoaded 事件。

document.addEventListener("DOMContentLoaded", function(){ ... });

Difference between DOMContentLoaded and load events

【讨论】:

  • 它不起作用。我认为它不会等待其他 AJAX 调用
  • 您需要发布您如何调用 AJAX。 XMLHttpRequest 的构建使您可以在请求返回后立即执行操作,这听起来是您真正想要的。
  • 如果我设置超时,5秒后元素不为空,但如果我使用你建议的功能。
  • stackoverflow.com/questions/8567114/…。在条件 (xmlhttp.status == 200) 中,您在 AJAX 请求完成后在页面上执行您希望发生的操作。当您不知道 AJAX 请求需要多长时间才能返回时,您不想使用超时。
猜你喜欢
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
  • 1970-01-01
  • 2018-05-29
  • 1970-01-01
相关资源
最近更新 更多