$(document).ready(function(){
loadbyGroup(1);
    $('.by-seller').click(function(){
    loadbyGroup(2);
  });
  $('.by-users').click(function(){
    loadbyGroup(1);
  });
  function loadbyGroup(val){
    var tempo_array = [{'data':[]}];
    $('.test').click(function(){
        console.log(tempo_array)
    });
    //some if else condition below val == 1 or 2 not necessary
  }


});

当我单击按钮“ .by-users”并单击“ .test”按钮时,它将在控制台日志中打印多个值“ [{'data':[]}]”,这是我的问题,应该像第一个一样打印一次单击.test按钮时页面的加载情况如何解决?

最佳答案

您将在每次执行loadbyGroup()调用时在按钮测试上添加多个单击处理程序,因此将其从loadbyGroup函数中删除。

$(document).ready(function(){

    var tempo_array = [];

    loadbyGroup(1);

    $('.by-seller').click(function(){
        loadbyGroup(2);
    });

    $('.by-users').click(function(){
        loadbyGroup(1);
    });

    $('.test').click(function(){
        console.log(tempo_array)
    });

    function loadbyGroup(val){
        tempo_array = [{'data':[]}]; // or whatever you want to do with this array
    }
});

关于javascript - 为什么控制台打印多个值如何修复它应该打印一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58349002/

10-09 15:03