当我将以下代码放在<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
答案 0 :(得分:1)
因为将函数Test()
分配给事件侦听器时会调用它。该调用函数-您只需要向其传递一个函数 reference ,它是该函数的名称-Test
:
document.write(`<div id="test">some text</div>`);
document.getElementById("test").addEventListener("mouseover", Test);
function Test() {
alert("mouseover");
}