为什么addEventListener触发了另一个事件的触发功能(分配给它)?

时间:2019-04-26 23:59:39

标签: javascript html html5 function dom

当我将以下代码放在<script></script>标签之间时,它将在页面加载时触发Test函数,而不是在mouseover事件中触发函数。为什么?

document.write(`<div id="test">some text</div>`);
document.getElementById("test").addEventListener("mouseover",Test());
function Test(){alert("mouseover");}

浏览器:Firefox Quantum 63.0.3

1 个答案:

答案 0 :(得分:1)

因为将函数Test()分配给事件侦听器时会调用它。该调用函数-您只需要向其传递一个函数 reference ,它是该函数的名称-Test

document.write(`<div id="test">some text</div>`);
document.getElementById("test").addEventListener("mouseover", Test);

function Test() {
  alert("mouseover");
}