记一次使用jQuery清空元素

缘由:

数据量比较大,分页显示,页码是自己写的,动态创建页码,创建元素时会绑定元素的click事件,每次显示五个页码(1,2,3,4,5),点击2—4不换,点5,页码变成3,4,5,6,7。

遇到的问题:

每次点击页码都会先empty页码容器,然后如果没到点击“5”,将数组中的页码元素重新append到容器中,此时元素的click事件就会失效。

原因:

经过查询jQuery的文档,jQuery的empty和remove事件在执行时,为了避免内存泄漏会先移除子元素的数据和事件处理函数,然后移除子元素,所以导致创建的元素虽然未被销毁,但是其绑定的事件都会被移除。

解决办法:

jQuery提供了一种解决办法,使用detach方法,该方法并非真正移除元素,而是隐藏元素;如果需要移除元素,只能重新绑定元素的事件

原文地址:https://www.cnblogs.com/giser-liang/p/5761322.html