有一个需求,函数名写在html上,在js中定义这个变量,js报错该函数不存在,在此给出解决方法
//html代码如下
<a data-function="aaa" class="clickMe">点我</a>
//js代码
function aaa(){
alert(111);
}
$('.clickMe').click(function(){
var functionName = $(this).attr('data-function');
//functionName();//直接运行报错
//解决方案是 建立一个函数来调用functionName
function tmpFunction(data){
//eval(functionName + '(' + data + ')'); //如果要传递参数,则按照这种形式
eval(functionName + '()'); //不传递参数,则按照这种形式
}
tmpFunction();
})