我想通過下面的函數GetDetail
函數來傳遞變量。我可以傳遞字符串/數字,它可以正常工作。JavaScript函數傳遞變量
但我無法通過可變
detLink.onclick = new Function ("GetDetails()");
detLink.setAttribute('onclick',"javascript:GetDetails()")
我想通過下面的函數GetDetail
函數來傳遞變量。我可以傳遞字符串/數字,它可以正常工作。JavaScript函數傳遞變量
但我無法通過可變
detLink.onclick = new Function ("GetDetails()");
detLink.setAttribute('onclick',"javascript:GetDetails()")
detLink.setAttribute('onclick',"javascript:GetDetails("+yourVariableName+")")
當您設置屬性您使用字符串數據類型,因此你必須縫合函數名變量值
detLink.onclick = function() { GetDetails (parameter1, parameter2, ...); }
讀也The function expression(函數運算符)
的函數表達式類似於並且具有相同語法爲函數聲明
function [name]([param] [, param] [..., param]) {
statements
}
名稱 的函數名。可以省略,在這種情況下,函數變成 ,稱爲匿名函數。
param 要傳遞給函數的參數的名稱。函數 最多有255個參數。
陳述 構成函數主體的陳述。
var val1 = "Hell world"
detLink.onclick = GetDetails(val1);
function GetDetails(myVar){
alert (myVar);
}
這將無法正常工作,因爲GetDetails將被稱爲期間聲明,而不是點擊後。 – jantimon 2009-11-11 07:57:28
如果你有機會到相關變量,當你設置的點擊處理程序,
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;
FYI:http://webbugtrack.blogspot.com/2007/08 /bug-242-setattribute-doesnt-always-work.html – 2009-11-11 08:02:12
不工作在IE中,而不是本地主機我使用IP地址,如果我寫在警報中詳細它不工作 – Ank 2009-11-11 12:19:25