为什么我使用click()方法时,结果重复?

Why when I use the method click () , the result is repeated?

首先,我不得不说,当我将动态行添加到动态 table 时会发生这种情况。

在方法 datosGuardados 中,我有要为 Chrome 的调试控制台显示的对象。

datosGuardados: function(problema){

var self  = this;

var objTareas = new Object();

objTareas.tareas = aTareas;
objTareas.descripcionProblema = problema;
objTareas.idTareaSeleccionada = $('#nombre_trabajador_id').val();
objTareas.nombreTrabajador = $('#nombre_trabajador_id option:selected').text();

console.info(objTareas);
return objTareas;    },

这是包含按钮的方法 AccionBotonEnviar

AccionBotonEnviar: function(data){

var self = this;      
$("#btn_enviar_formulario_id").click(function(){

    self.datosGuardados();

}); },

如果我在 table 中添加一行并且不使用按钮打印,它会显示:

Object {tareas: Array[2], descripcionProblema: "aaa", idTareaSeleccionada: "2", nombreTrabajador: "Trabajador 2"}

但是使用按钮打印:

Object {tareas: Array[2], descripcionProblema: "aaa", idTareaSeleccionada: "2", nombreTrabajador: "Trabajador 2"}
Object {tareas: Array[2], descripcionProblema: "aaa", idTareaSeleccionada: "2", nombreTrabajador: "Trabajador 2"}

两次...

如果我添加两行,然后按下按钮,打印三行..

有什么问题?

您在代码中的某处再次调用了一次又一次绑定新点击处理程序的函数。可能在添加新行的方法中。

您可以使用以下方式取消绑定现有的:

$("#btn_enviar_formulario_id").off('click').click(function(){
      self.datosGuardados();
});

但由于不需要重复调​​用该函数,您可能需要将其从再次调用的地方删除