【发布时间】:2021-10-28 10:25:37
【问题描述】:
当事件侦听器正在运行时,我在循环一段代码时卡在 Javascript 中 放置。
例如,假设我有一个 div:
<div id="option">
</div>
我添加了一个 Javascript mouseenter 事件监听器:
const divItem = document.getElementById("option")
divItem.addEventListner("mouseenter", () => {
console.log("Mouse is entered")
})
现在控制台日志在鼠标悬停后发生一次,但我希望它每 4 秒发生一次 并在控制台中记录相同的消息,直到鼠标移出 div。
我尝试使用setTimeout:
divItem.addEventListner("mouseenter", () => {
const timeoutEvent = () => {
console.log("Mouse is entered")
setTimeout( () => { timeoutEvent() }, 4000 )
}
timeoutEvent()
})
但即使在鼠标离开 div 后它仍在记录, 那我该如何解决呢?
【问题讨论】:
标签: javascript html css google-chrome dom-events