我一直试图在页面加载时调用一个函数:
这是html面:

<div id='mapid'></div>

这是我的JavaScript代码:

var output2='onload="myVar = setTimeout(mapAll, 1)"';
document.getElementById("mapid").innerHTML += output2


但是,我没有执行该函数,而是在屏幕上看到一个纯文本,上面写着“'onload =“ myVar = setTimeout(mapAll,1)”'“

因此,有没有一种方法可以解决此问题,同时保留ID供以后使用,这样我就可以得到以下信息:
<div id="mapid" onload="myVar = setTimeout(mapAll, 1)"></div>

最佳答案

使用setAttribute代替innerHTML

如果您想添加内联事件处理程序,可以这样做

document.getElementById("mapid").setAttribute('onload', myFunction());

function myFunction() {
  setTimeout(function() {
    //rest of the code
  }, 2000);
}


DEMO

07-27 13:22