我在var中有函数名,
var i = 2; // iteration
var fname = 'myFunction' + i; // looks like myFunction2()
现在我想在元素的事件上分配这个功能。即。
var elem = document.getElementById('e');
elem.onclick = fname;
它不起作用。 JS将函数名称作为' fname()'不是里面的字符串' myFunction2()'
稍微帮助一下,
提前致谢。
答案 0 :(得分:1)
你可以这样做
window['myFunction' + i]
或创建函数的数组/对象。
var i = 2; // iteration
var fname = 'myFunction' + i; // looks like myFunction2()
var elem = document.getElementById('e');
elem.onclick = window[fname];
答案 1 :(得分:-1)
检查以下答案:Javascript - Variable in function name, possible? 和Use JavaScript variable as function name?
您尝试的是为事件分配字符串(变量)。