表单输入、观察器与生命周期:练习答案
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。
input、change 与 composition
输入法组合期间先监听 compositionstart/update/end;在 end 后再提交搜索,避免把半个汉字当查询。答案需记录 compositionend 前后的请求次数。
submit、FormData 与校验
用 FormData 读取表单,校验失败调用 preventDefault 并聚焦首个错误控件;成功分支只提交一次。断言错误文本和提交次数。
Observer 回调与断开
MutationObserver/ResizeObserver 回调可能批量合并;在节点移除和路由离开时调用 disconnect,并验证之后没有回调写 DOM。
章节入口核对
以下入口对应本章概览或综合练习,答案核对沿用本章各知识点的实现与日志。