从html调用函数内部的JavaScript函数

时间:2018-01-28 16:27:32

标签: javascript html function

使用嵌套函数苦苦挣扎。问题,我想从我的HTML中调用一个函数,但我所有的JavaScript都在里面等待DOM加载的函数。

如果我接受我想要调用DOM加载函数的函数,我就无法从DOM加载函数中访问变量。

1 个答案:

答案 0 :(得分:1)

当你说你"从[你的] HTML"中调用一个函数时你的意思是:

<div onclick="yourFunction()">...</div>

......或类似的。

这是不使用onxyz - 属性样式事件处理程序的众多原因之一:如果它们是全局变量,则只能调用自己的函数。

相反,如果您需要支持过时的Microsoft浏览器,请使用现代事件处理技术(例如addEventListener(或attachEvent)来处理处理程序;如果您这样做,my answer here会有交叉处理 - 你可以使用的浏览器功能)。如果你这样做,你可以使用你的代码范围内的任何函数进行连接,它不再需要是全局的。

简单示例:

&#13;
&#13;
(function() {
  // Not global
  function fooClick() {
    console.log(".foo clicked");
  }
  
  // Hook it up
  document.querySelector(".foo").addEventListener("click", fooClick);
})();
&#13;
<div class="foo">Click me</div>
&#13;
&#13;
&#13;