触发一个事件,当鼠标没有移动10秒



我有点不知道从哪里开始。如何在鼠标10秒未移动时触发事件?当鼠标移动时,我需要一个resetTimer,并将setTimeout设置为10 10秒吗?很难把它放在一起。

您可以使用debdedfunction。你可以在这里阅读更多关于debounce的信息

function debounce(func, timeout) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, timeout);
};
}
const functionToRunAfterInactivity = () => {
console.log("Mouse has not moved for 10 seconds");
};
addEventListener("mousemove", debounce(functionToRunAfterInactivity, 10000));

最新更新