JavaScript onmousemove 事件延迟生效原因分析及解决方案
这段代码中,移入两次才生效的原因可能是由于事件触发时机的问题。具体来说,当鼠标移入目标元素时,会触发 mousemove 事件,然后立即绑定 onmousemove 回调函数。但是由于绑定的回调函数中包含了 setTimeout 函数,该函数会在一定时间后执行。因此,当第一次移入目标元素时,回调函数会被绑定,但是由于 setTimeout 函数的延时,回调函数中的代码并不会立即执行。只有在第二次移入目标元素时,延时时间已经过去,回调函数中的代码才会执行,从而实现了预期的效果。
如果想要只需要移入一次就生效,可以考虑将 setTimeout 的延时时间设置为 0,或者直接在 onmousemove 事件的回调函数中执行相关代码,而不使用 setTimeout 函数。
原文地址: https://www.cveoy.top/t/topic/pjYZ 著作权归作者所有。请勿转载和采集!