如何在加载元素后告诉JavaScript执行函数?

时间:2011-05-24 18:23:59

标签: javascript dom

如何在任何外部库加载元素后告诉JavaScript执行函数? 通常我必须在元素本身后面带<script>标记才能使用DOM调用。

4 个答案:

答案 0 :(得分:20)

如果您不想等待整页加载,您还可以轮询元素的存在:

function myFunc() {
  if (document.getElementById('myElement')) {
    // do stuff
  } else {
    setTimeout(myFunc, 15);
  }
}

答案 1 :(得分:2)

您可以使用document.onloadwindow.onload方法 例如:

window.onload = function(){
   //do some stuff 
}

答案 2 :(得分:1)

脚本放在body标签上方是一个有效的选项。如果有问题的元素支持它,您也可以使用它的onload事件。您还可以附加到窗口或文档的onload事件。

答案 3 :(得分:0)

另一种选择是在元素之后添加 <img src="" onerror="callback()"> 并在 onerror 事件上执行代码:

function func(img) {
    console.log("Element loaded");
    img.parentNode.removeChild(img);
    document.getElementById('hello').innerHTML = "Just loaded";
}
<p id="hello">Not loaded yet</p>
<img onerror="func(this)" src="" style="display:none">