首页 > 解决方案 > addEventListener 不适用于 onmousemove

问题描述

这是我的代码

HTML

<body>
<div>
    <input type="text" id="id">
    <p></p>
</div>
<script src="main.js"></script>

CSS

body{
display: flex; 
justify-content: center;
align-items: center;
height: 500px;
} 

JavaScript

document.getElementById("id").addEventListener("click", func);
document.getElementsByTagName("body")[0].addEventListener("onmousemove", func);

function func() {
    console.log(5)
}

addEventListener 适用于“click”事件,但不适用于“onmousemove”

标签: javascripthtmldom

解决方案


document.getElementById("id").addEventListener("click", func);
document.getElementsByTagName("body")[0].addEventListener("mousemove", func);

function func() {
    console.log(5)
}
<body>
<div id="id">This is the div to hover at</div>
</body>

当指针设备(通常是鼠标)移动而光标的热点位于元素内时,该mousemove事件会在元素上触发。

所以你应该做

document.getElementsByTagName('body')[0].addEventListener('mousemove', func)

推荐阅读