gpt4 book ai didi

javascript - 为什么我在注册事件监听器之前调用了滚动事件并触发了事件监听器?

转载 作者:行者123 更新时间:2023-12-04 15:23:15 27 4
gpt4 key购买 nike

   window.scroll(0,10);
window.addEventListener('scroll', function(e){
console.log("event!");
});

  1. 我在滚动事件后注册了一个事件监听器,但为什么是“事件!”显示在控制台上?
  2. 为什么“事件!”当滚动发生一次时在控制台上出现两次?

最佳答案

您的滚动处理程序被调用两次的原因可能是因为浏览器试图将滚动位置恢复为您刷新页面之前的位置。

为了验证这一点

  1. 删除 window.scroll(0,10);
  2. 手动向下滚动页面
  3. 刷新页面
  4. 请注意您的事件已被触发。

至于为什么在注册处理程序之前调用了 window.scroll 也会触发 'scroll' 事件,这似乎与:

这个答案可能会有更多的指示 https://stackoverflow.com/a/59559610/149636

关于javascript - 为什么我在注册事件监听器之前调用了滚动事件并触发了事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62845481/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com