我试图通过下面的GetDetail
函数传递变量。我可以传递字符串/数字,它可以正常工作。
但我无法传递变量
detLink.onclick = new Function ("GetDetails()");
detLink.setAttribute('onclick',"javascript:GetDetails()")
答案 0 :(得分:5)
detLink.onclick = function () { GetDetails ( parameter1, parameter2, ... ); }
另请阅读The function expression(函数运算符)
函数表达式与函数声明
类似,并且具有相同的语法function [name]([param] [, param] [..., param]) {
statements
}
名 功能名称。可省略,在这种情况下功能变为 称为匿名函数。
PARAM 要传递给函数的参数的名称。一个功能可以 最多有255个参数。
语句 构成函数体的语句。
答案 1 :(得分:0)
detLink.setAttribute('onclick',"javascript:GetDetails("+yourVariableName+")")
当您设置属性时您正在使用字符串数据类型,因此您必须使用变量VALUE
来拼接函数名称答案 2 :(得分:0)
如果您在设置点击处理程序时可以访问相关变量,
detLink.onclick = function() {
GetDetails(foo);
}
如果你不这样做,
detLink.id = uniqueId;
detLink.onclick = function() {
var foo = globalData[this.id];
GetDetails(foo);
}
// somewhere else in your code, where you know the value of the variable
globalData[detLink.id] = foo;
答案 3 :(得分:-2)
var val1 = "Hell world"
detLink.onclick = GetDetails( val1 );
function GetDetails( myVar ){
alert ( myVar );
}