You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript延迟为div添加scroll事件监听器不生效如何解决?

问题原因
  • 错误1:addEventListener的第二个参数需要接收函数引用,你当前直接写console.log("testing")属于立即执行代码,运行到这行时就会打印一次,把执行后的返回值undefined传给了监听器,自然滚动时不会触发任何逻辑。
  • 错误2:外层setTimeout(ff(),500)这里加了括号会立即执行ff函数,而不是延迟500ms后执行,要传递函数引用只需写函数名ff即可。
修正后代码
function ff(){
  // 内层的setTimeout(...,0)如果没有特殊业务逻辑可以直接去掉,不影响功能
  document.getElementById("chatContainer").addEventListener("scroll", function() {
    console.log("testing")
  })
}
// 注意这里只传函数名ff,不加括号
setTimeout(ff, 500)
额外说明

如果需要简化写法,也可以用箭头函数定义事件回调:

document.getElementById("chatContainer").addEventListener("scroll", () => console.log("testing"))

内容的提问来源于stack exchange,提问作者Jip Helsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:54:05