我有以下函数应该从带有事件的字符串创建函数 -
function getFuncDefEvent(jsFunctionString){
if(jsFunctionString!= undefined) {
return function(event){jsFunctionString};
}
}
这将是函数字符串的示例:
jsFunctionString = "doSomething(event); doSomethingElse();
我已将它附加到onclick事件,但它似乎没有触发任何事件。我错过了什么吗?
答案 0 :(得分:3)
这不是你如何从字符串创建函数。您需要使用Function
constructor:
return new Function(['event'], jsFunctionString);
答案 1 :(得分:0)
编辑: 经过审核,我认为Barmar的答案可能比我下面的答案更正确。我会把它留给子孙后代,但他可能应该被选为正确的。
这不是Javascript的工作原理。如果您想将任意字符串评估为Javascript代码,则必须使用eval。但请注意,大多数流行的智慧是eval is evil。