我有一个for循环,它应该根据用户输入分配函数(将函数绑定到按钮)。相反,无论单击哪个按钮(取消按钮除外),都会运行相同的功能。
该功能看起来像这样......
根据以下要求,这里有一个更清晰的例子:
HTML
<button id="myButton">
Button 1
</button>
<button id="myButton2">
Button 2
</button>
<button id="myButton3">
Button 3
</button>
JAVASCRIPT
var myFunctions = {
myButton: function(o){ alert("Button 1 pressed! (" + o +")"); },
myButton2: function(o){ alert("Button 2 pressed! (" + o +")"); },
myButton3: function(o){ alert("Button 3 pressed! (" + o +")"); }
}
function runBinds(binds){
for(bind in binds){
var myButton = document.getElementById(bind),
myCall = function(){
binds[bind]("Appended info");
};
myButton.addEventListener('click',myCall,false);
}
}
runBinds(myFunctions);
Jsfiddle
正如我之前提到的,我尝试使用闭包,但这并没有解决我的问题,所以它不是重复的。