【发布时间】:2023-04-02 15:11:01
【问题描述】:
我正在尝试找出一种聚合 mousemove 事件的简洁方法,以确保我的代码被调用,但每 250-300 毫秒调用一次。
我考虑过使用类似下面的东西,但想知道是否有更好的模式,或者 jQuery 提供的东西可以做同样的事情:
var mousemove_timeout = null;
$('body').mousemove(function() {
if (mousemove_timeout == null) {
mousemove_timeout = window.setTimeout(myFunction, 250);
}
});
function myFunction() {
/*
* Run my code...
*/
mousemove_timeout = null;
}
编辑: 下面接受的答案非常适合这种情况,但是,我发现答案中提供的mousestop() 功能实际上消除了我对聚合的需要,所以如果你是阅读此问题并寻找答案,看看mousestop 插件是否是您真正需要的!
【问题讨论】:
标签: jquery settimeout mousemove