javascript - 有没有办法在添加 div 时在单独的文件中运行函数? [无 jQuery]

标签 javascript html

我有 2 个外部 js 文件,当 document.body.innerHTML 添加元素时,我需要在 html 中调用一个函数。在添加此 div 时,我想在另一个文件中调用一个函数。创建元素时如何调用该函数?

//pseudo code
//first file:
document.body.innerHTML += "<div></div>"
//second file:
var foo = function() {
alert("foo");
}
//when div is added call foo.

最佳答案

如果代码按顺序执行,则当您添加 div 时,函数 foo 尚未定义,因为它位于第二个文件中。您需要以相反的顺序加载文件,即先加载第二个文件,然后加载第一个文件,以便在添加 div 时定义 foo 函数。然后您可以像调用任何其他函数一样调用它。

document.body.innerHTML += "<div></div>";
foo();

如果您无法更改文件加载的顺序,您可以在定义 foo() 后通过设置超时来执行第一个文件中的代码:

setTimeout(function(){
    document.body.innerHTML += "<div></div>";
    foo();
}, 0);

关于javascript - 有没有办法在添加 div 时在单独的文件中运行函数? [无 jQuery],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40415480/

相关文章:

html - <dt><dd> 标签行间距

jquery - 在 jQuery Mobile 中卡住 li 标签时出现问题

java - 想使用 Jsoup 获取 Title 和 Grade

javascript - 在 Typescript 中使用 Ramda Pipe 输入错误

javascript - 包含异步 javascript 文件有什么区别?

javascript - 制作/查找 html5 验证程序书签

javascript - JavaScript 中的 window.close() 函数

javascript - AngularJS 有没有办法在引导后动态注册指令

javascript - 在 HTML5 Canvas 上绘图时如何去除阴影

javascript - 我有一个 onClick angularjs 函数有一个 for 循环,在第一次点击时不起作用