开发者问题收集

事件未定义(javascript [重复]

2018-03-26
1059

我想添加一个事件管理器,但是它不起作用?

控制台显示

"ReferenceError: event is not defined"
document.getElementsByTagName('div')[0].addEventListener("mousemove", myFunction(event));

function myFunction(event) {
    var x = event.pageX;
    var y = event.pageY;
    var coor = "Coordinates: (" + x + "," + y + ")";
    document.getElementByTagName('p')[0].textContent = coor;
}
<div> 
<p></p>
</div>
2个回答

创建事件侦听器时,写函数的唯一名称:

495085146 726521493
Vadym Shashkov
2018-03-26

虽然 Vadim Shashkov 是正确的,但背后还有更多的推理。根据 Mozilla 发布的文档( https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener ),您为 addEventListener 函数赋予了一个值,而不是一个函数。您需要为其赋予该函数,这就是

document.getElementById('myDiv').addEventListener("mousemove", myFunction);

有效的原因。

iHowell
2018-03-26