带有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.

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...