原因:css
数据量比较大,分页显示,页码是本身写的,动态建立页码,建立元素时会绑定元素的click事件,每次显示五个页码(1,2,3,4,5),点击2—4不换,点5,页码变成3,4,5,6,7。api
遇到的问题:数组
每次点击页码都会先empty页码容器,而后若是没到点击“5”,将数组中的页码元素从新append到容器中,此时元素的click事件就会失效。app
缘由:函数
通过查询jQuery的文档,jQuery的empty和remove事件在执行时,为了不内存泄漏会先移除子元素的数据和事件处理函数,而后移除子元素,因此致使建立的元素虽然未被销毁,可是其绑定的事件都会被移除。spa
解决办法:code
jQuery提供了一种解决办法,使用detach方法,该方法并不是真正移除元素,而是隐藏元素;若是须要移除元素,只能从新绑定元素的事件
事件