本文解决动态通过 fetch 加载 html 片段(如导航栏)后,javascript 事件监听器失效的问题——核心原因是原脚本仅在初始页面执行,未对动态插入的 dom 重新绑定事件。 在多页网站项目中复用导航栏,通过 fetch 动态加载 HTML 片段是常见做法。但开发者常遇到一个问题:导航栏的

本文解决动态通过 fetch 加载 html 片段(如导航栏)后,javascript 事件监听器失效的问题——核心原因是原脚本仅在初始页面执行,未对动态插入的 dom 重新绑定事件。
在多页网站项目中复用导航栏,通过 fetch 动态加载 HTML 片段是常见做法。但开发者常遇到一个问题:导航栏的 HTML 结构成功渲染,但点击汉堡菜单或链接却无响应。问题的根源在于:动态插入的 DOM 元素,不会自动继承原始页面中已执行过的 JavaScript 逻辑。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
例如,主页面 index.html 中的 script.js 文件为 .hamburger 和 .nav-link 等元素绑定了事件监听器。但当访问 home.html 等子页面时,这些页面通常只有一个用于触发 fetch 请求的