如何在任何外部库加载元素后告诉JavaScript执行函数?
通常我必须在元素本身后面带<script>
标记才能使用DOM调用。
答案 0 :(得分:20)
如果您不想等待整页加载,您还可以轮询元素的存在:
function myFunc() {
if (document.getElementById('myElement')) {
// do stuff
} else {
setTimeout(myFunc, 15);
}
}
答案 1 :(得分:2)
您可以使用document.onload
和window.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">