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