本文介绍一种基于事件委托与语义化 HTML 结构的健壮方案,解决多个输入框无法统一校验的问题;通过 data-answer 属性绑定答案、form 封装题干逻辑,并利用 dataset 和标准化字符串处理提升容错性与可维护性。
本文介绍一种基于事件委托与语义化 html 结构的健壮方案,解决多个输入框无法统一校验的问题;通过 `data-answer` 属性绑定答案、`form` 封装题干逻辑,并利用 `dataset` 和标准化字符串处理提升容错性与可维护性。
在构建交互式测验(如游戏知识填空题)时,初学者常陷入“为每个输入框单独写监听器”的误区——这不仅导致重复代码,更使新增题目需反复修改 JavaScript,违背可维护性原则。根本问题在于:原始代码使用 document.querySelector('input') 永远只匹配第一个 ,且多个元素共用相同 id="Check" 或 id="feedback2",违反 HTML 唯一性规范,造成 DOM 查询失效。
✅ 正确思路:结构化 + 事件委托 + 语义化数据
我们应将每道题封装为一个独立、可复用的 语义化组件:以










