1)新建todo:input框默认显示What needs to be done?,单击消失,回车新建
2)显示todo:新建后在列表最后显示
3)修改todo:内容:双击修改,回车确认;状态:前方勾选
4)删除todo:单击todo后方的叉删除
5)显示条目:尾部左下角显示item数
6)切换状态:单击尾部选修选择显示全部、未完成、已完成
7)全选:input框左,全部标为已完成
8)删除已完成:右下角Clear completed
9)搜索:input框右搜索,只要条目中含有搜索内容就会被显示
10)存储:js存储todo内容,刷新后仍会显示
1)代码的实现思路是:捕捉整个页面的回车、单击、双击等操作,判断操作发生的位置,实现响应。
2)网页是在最后一堂课讲解之前开始写的,本代码实现思路不太合理,可读性可维护性较低,使每个element分别接收操作,将页面改变全部通过update()实现更合理。期末结束后将尝试重构代码
3)本代码创建新todo item的方式较为巧妙:既然有状态切换控制条目显示与否,那为什么不在html文件中写一个不会被显示的item,用cloneNode函数克隆这个空结点再添加内容呢(4行实现)