2016-07-26 95 views
0

我有一個函數接受一個名爲buttonID的參數,我需要傳遞給多個其他函數。點擊該鏈接時,該ID將被傳遞。Javascript傳遞參數到函數,這是一個回調

<a href="#" class="theme_btn" id="check-user" onClick="javascript:checkUser(this.id);">User Check</a> 

我的功能是

function checkUser(buttonID) { 
//do some stuff 
var data = {}; 
data.callback = getUserInfo; 
data.username = uname; 
data.level = lvl; 
checkLevel(data); 
} 

我遇到的問題是,我無法buttonID傳遞給回調函數,getUserInfo。

我試過getUserInfo(buttonID),但它無法正常工作。我應該使用getUserInfo({buttonID])的以下語法嗎?

總之,我需要buttonID的值從函數傳遞到函數,我相信這是阻止我回來的語法。任何想法或建議,我可以嘗試不同的方式?

+0

添加'data.buttonId = buttonID;' –

回答

0

您可以用匿名函數做到這一點:

data.callback = function(){getUserInfo(buttonID)} 

使用JavaScript ES6語法,短一點:

data.callback = _=>{getUserInfo(buttonID)} 
0

var buttonIDGlobal; 
 

 
function checkUser(buttonID) { 
 

 
buttonIDGlobal = buttonID; 
 
//do some stuff 
 
var data = {}; 
 
data.callback = getUserInfo; 
 
data.username = uname; 
 
data.level = lvl; 
 
checkLevel(data); 
 
}
You can simple define a global variable and assign the button ID to that variable. 
 

 

 
Now "buttonIDGlobal" is accessible in "getUserInfo()" function.`enter code here`