带有Onload和onmouseout事件的Javascript错误 outFunction: myFunction:

问题描述

我正在尝试在发生onmuSEOut / onload事件时执行代码,但是由于某种原因我的代码未运行?

function outFunction() {
  document.getElementById("mouSEOut").alert("Don't Leave!")
}

function myFunction() {
  document.getElementById("hi").innerHTML = "This DIV is loaded."
}
<div onmouSEOut="outFunction()",id="mouSEOut">DIV</div>
<div id="hi" onload="myFunction()"></div>

解决方法

outFunction:

alert函数位于window(或隐式global对象)上。返回的div元素(是HTMLDivElement的实例)上的不是

将功能更改为此:

function outFunction() {
    window.alert("Don't Leave!")
}

请注意,这也是可行的(使用相同的alert函数,因为windowglobal对象):

function outFunction() {
    alert("Don't Leave!")
}

myFunction:

onload未在HTMLDivElement上定义。您应该改用document.addEventListener( 'DOMContentLoaded',handler )

将您的HTML和JavaScript函数更改为此:

<div id="hi"></div>
function myFunction() {
    document.getElementById("hi").innerHTML = "This DIV is loaded."
}
document.addEventListener( 'DOMContentLoaded',myFunction ); // Do NOT put parentheses! i.e. don't put `myFunction()`,just put `myFunction` - because you're passing a function-reference,not a function-call.