Javascript Element.onclick = functionName(as String)?

时间:2014-05-27 11:31:49

标签: javascript html

我在var中有函数名,

var i = 2; // iteration
var fname = 'myFunction' + i; // looks like myFunction2()

现在我想在元素的事件上分配这个功能。即。

var elem = document.getElementById('e');
elem.onclick = fname;

它不起作用。 JS将函数名称作为' fname()'不是里面的字符串' myFunction2()'

稍微帮助一下,

提前致谢。

2 个答案:

答案 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?

您尝试的是为事件分配字符串(变量)。