Javascript 如何在另一个函数中使用document.onload?

Javascript 如何在另一个函数中使用document.onload?,javascript,function,Javascript,Function,我有这个功能: function myfunc_embed() { document.onload = function(){ // myScript }; }; 我从html页面调用myfunc\u embed()。我希望在加载html页面的DOM时激活它。看起来好像不行。但是,如果我将settimeout而不是document.onload(),它就可以正常工作。我对JavaScript非常陌生。我有什么遗漏吗 注意:加载DOM时必须调用它 编辑:我用来调用myfunc\u em

我有这个功能:

function myfunc_embed() {
document.onload = function(){
   // myScript
  };
};
我从html页面调用
myfunc\u embed()
。我希望在加载html页面的DOM时激活它。看起来好像不行。但是,如果我将settimeout而不是
document.onload()
,它就可以正常工作。我对JavaScript非常陌生。我有什么遗漏吗

注意:加载DOM时必须调用它

编辑:我用来调用
myfunc\u embed()
的代码在这里-


;myfunc_嵌入()

这个脚本是在body元素内的html页面中编写的。我无法更改代码的位置。
完整代码:

您不需要将其置于onload函数中,脚本在不使用onload的情况下可以正常工作。您只需要从HTML调用主函数

  function myfunc_embed(id){
  id.addEventListener("load", function(event) {
     alert("something loaded.");
      });
   }
如果要在加载特定元素时调用函数,只需在声明元素后调用函数,如下所示:

 <h3 id="yourid">something</h3>
 <script type="text/javascript">
    myfunc_embed('yourid');              
  </script>
什么 myfunc_嵌入(“您的ID”);
您不需要使用您使用它的方式 试试这个

<body onload="myFunction()">


function myFunction(){
   // myScript
  };

在这个实现中,代码在整个页面加载后运行,因此您无需担心将代码放在何处,这就是Jquery的妙处。如果没有调用onload,则意味着您注册它太晚了。检查


您如何调用
myfunc\u embed
?我们不确定是否调用了
myfunc\u embed
。最好先等OP澄清。@CertainPerformance我已经编辑了我的问题。我需要在整个DOM加载时加载它。@Asifurahman您是从head标记调用此函数吗?@Kashan它在body标记中它很可能会显示错误“函数未定义”,因为您调用的是在声明之前不能更改body html。在主体内部有一个特定的区域,我可以在其中放置调用函数的代码。但不幸的是
myScript()不会开火。我已经更新了我的问题,也许新信息会对您有所帮助。
myScript
将在调用时执行。使用
console.log()
查看执行的操作。
$(document).ready(()=>{
   // your script
});
function myScript () {
    // ...
}
function myfunc_embed() {
    if (document.readyState === 'complete') {
        myScript();
    } else {
        document.onload = function () {
            myScript();
        }
    }
};