document.addEventListener('load')绑定startup函数未触发问题求助
问题根因
你代码中的事件监听对象选择错误:load 事件是属于 window 对象的事件,并不在 document 对象上触发,你写的 document.addEventListener('load',startup) 永远不会触发回调,这就是startup函数始终没有执行的直接原因。
修复方案
你可以任选以下一种方式修改绑定逻辑:
- 方案一:监听window的load事件
load事件会在页面所有资源(脚本、样式、图片等)全部加载完成后触发,能保证你要绑定事件的prev、next按钮已经渲染完成,不会出现找不到DOM元素的问题:
// 替换原有的事件绑定代码即可 window.addEventListener('load', startup);
- 方案二:监听document的DOMContentLoaded事件
如果你不需要等图片等非DOM资源加载完成,只需要等DOM树构建完成就执行初始化逻辑,可以绑定DOMContentLoaded事件,触发时机更早:
document.addEventListener('DOMContentLoaded', startup);
内容的提问来源于stack exchange,提问作者Rushabh Mehta
相关产品推荐
相关产品推荐

