我不认为有任何事件可以通知您滚动停止。通常,您需要等待一段时间才能经过,直到上次滚动事件。通常,您将使用debounce操作 - 许多不同的实用程序libs实施它,例如lodash(
https://lodash.com/docs/4.17.10#debounce
):window.addEventListener(
"scroll",
_.debounce(() => {
console.log("scrolling stopped");
}, 1000)
);
通过使用
解决问题。
AttachonScroll
useMemo
对于endScroll
const handleEndScroll = useMemo(
() =>
_.debounce(() => console.log("END SCROLL"), 1000),
[]
);
const handleScroll = e => {
console.log("scroll scroll scroll");
handleEndScroll();
};
注:lodash
useMemo
scrollend
活动在109中添加到FF中。眨眼/Webkit浏览器有望在2023年中期至下旬进行。