在使用添加按钮给table插入新的一行时遇见的问题总结及处理方法

添加按钮的功能:点击添加按钮之后完成添加新的一行。

遇见的问题:当多次点击添加按钮生成新的多行之后,生成的每行内部按钮的保存按钮点击事件出现最晚添加的一行的行内保存点击事件执行一次,倒数第二次添加的行内保存点击事件执行两次,以此类推,最早执行的行内保存点击事件执行次数为点击添加按钮事件的次数。并且这个次数和点击事件的先后顺序无关。

处理方法:因为该点击事件是使用jQuery的obj.on('click', function() {})实现的,可以使用obj.unbind("click").on('click', function() {})去解决这样的问题。

处理方法原理是:在绑定新click方法前对元素所绑定的click方法解绑。

我对该现象理解:在生成每一行的时候,行内的保存按钮的点击事件都会直接绑定好,当添加按钮第一次点击的时候添加的那一行上边有一个点击事件,当再次点击添加按钮添加新的一行之后,新的一行上边有一个点击事件,但是原来添加的那一行上边则会累加之后生成的新的所有的保存按钮点击事件的次数,所以才会出现上述问题。

原文地址:https://www.cnblogs.com/shenhf/p/7883645.html