在 for 循环中返回单击的按钮

Returning a clicked button in a for loop

如何在单击时 return 值 'i' 而不用担心其他值?

var button = UTILS.getElementsByClassName('btn primary');
    for(var i = 0; i<button.length; i++){
        if(button[i].attachEvent){
            button[i].attachEvent('onclick',function(){/*...*/});
        }else{
            button[i].addEventListener('click',function(){/*...*/},false);
        }
    }
}

您可以绑定值

var button = UTILS.getElementsByClassName('btn primary');
for(var i = 0; i<button.length; i++){
    if(button[i].attachEvent){
        button[i].attachEvent('onclick',buttonEvent.bind(button[i], i));
    }else{
        button[i].addEventListener('click',buttonEvent.bind(button[i], i),false);
    }
}

function buttonEvent(i){
  // this refers to the button, i is the number used in the for loop
  console.log(this, i);
}