最近在学习用jquery制作一个to do list,运用store.js插件存储数据。每刷新一次页面都从storage里面重新读取一次数据,渲染在页面上。在给删除按钮绑定click事件后,发现只能删除一条DOM元素,每刷新一次页面只能删除一条DOM元素,后来经过网上搜索找到了原因:
绑定事件在页面加载完后就完成了,也就是每刷新一次页面,绑定就完成一次。但是如果页面没有刷新,但是storage更新了并且重新渲染了一次页面,那么初始时候绑定的事件就不起作用了因为现在重新渲染到页面上的DOM元素已经不是渲染之前绑定好事件的DOM元素了,除非再刷新一次页面绑定一次click事件。、
解决方法:
将绑定事件的代码段放到函数中,在渲染页面的函数中引用绑定事件的函数,即在每次重新渲染页面的时候重新绑定一次事件,即可解决问题。