要限制onmousemove事件的頻率,可以使用節(jié)流(throttle)或者防抖(debounce)的方法。
let throttleTimer = null;
element.onmousemove = function(event) {
if (!throttleTimer) {
throttleTimer = setTimeout(function() {
// 執(zhí)行事件處理函數(shù)
throttleTimer = null;
}, 100); // 設(shè)置時間間隔為100ms
}
};
let debounceTimer = null;
element.onmousemove = function(event) {
clearTimeout(debounceTimer);
debounceTimer = setTimeout(function() {
// 執(zhí)行事件處理函數(shù)
}, 100); // 設(shè)置等待時間為100ms
};
這兩種方法可以根據(jù)實際需求選擇使用,節(jié)流適合在一定時間間隔內(nèi)執(zhí)行事件處理函數(shù),而防抖適合在事件觸發(fā)后等待一段時間再執(zhí)行事件處理函數(shù)。