用于循环回调的Javascript
在用于循环回调的Javascript,javascript,loops,callback,Javascript,Loops,Callback,在FOR循环中,有一个项目IDGameID[i]\u容器的列表。在这些屏幕上,显示时没有问题 我想让控制台记录物品的gameid[I],然后点击物品。我相信这应该通过回调来完成,但是当点击项目时,目前什么都没有发生 请帮忙 代码: //CLICKING ON GAMES //Active Game - bring user to game //Newly Invited Game - ask user to accept invite, then either bring to game or
FOR
循环中,有一个项目IDGameID[i]\u容器
的列表。在这些屏幕上,显示时没有问题
我想让控制台记录物品的gameid[I]
,然后点击物品。我相信这应该通过回调来完成,但是当点击项目时,目前什么都没有发生
请帮忙
代码:
//CLICKING ON GAMES
//Active Game - bring user to game
//Newly Invited Game - ask user to accept invite, then either bring to game or delete from players list
//Rematch Game - recreate previous game
//Function
function gameAccess(i) {
//REMATCH GAME
if (currentRound[i] == roundWinners[i].length && currentRound[i] != 0 && currentRound[i] == numberOfRounds[i]){
console.log("You clicked " + gameIds[i]);
}
//NEWLY INVITED GAME
if (currentRound[i] == 0 && currentUserId != creator[i]) {
console.log("You clicked " + gameIds[i]);
}
//ACTIVE GAME
else{
console.log("You clicked " + gameIds[i]);
}
}
//Callback
function gameAccessCallback(i){
return function(){
gameAccess(i);
};
}
//Iterate Through
for (i = 0; i < numberOf; i++) {
document.getElementById(gameIds[i] + "_container ").click(gameAccessCallback(i));
};
//点击游戏
//活动游戏-将用户带到游戏中
//新邀请的游戏-要求用户接受邀请,然后带到游戏中或从玩家列表中删除
//重赛游戏-重新创建以前的游戏
//作用
功能访问(一){
//复赛游戏
如果(currentRound[i]==roundWinners[i]。长度和currentRound[i]!=0和currentRound[i]==NumberOfRound[i]){
log(“你点击了”+GameID[i]);
}
//新邀请的游戏
if(currentRound[i]==0&¤tUserId!=创建者[i]){
log(“你点击了”+GameID[i]);
}
//主动游戏
否则{
log(“你点击了”+GameID[i]);
}
}
//回拨
函数gameAccessCallback(i){
返回函数(){
游戏接入(一);
};
}
//反复浏览
对于(i=0;i
这里的问题是您正在执行document.getElementById(…)。单击()
。DomeElement没有单击方法!jQuery确实如此,但您在这里似乎没有使用它
试试这个:
for (i = 0; i < numberOf; i++) {
document.getElementById(gameIds[i] + "_container ").addEventListener('click', gameAccessCallback(i));
}
(i=0;i{
document.getElementById(GameID[i]+“_容器”).addEventListener('click',gameAccessCallback(i));
}
这里的问题是您正在执行document.getElementById(…)。单击()
。DomeElement没有单击方法!jQuery确实如此,但您在这里似乎没有使用它
试试这个:
for (i = 0; i < numberOf; i++) {
document.getElementById(gameIds[i] + "_container ").addEventListener('click', gameAccessCallback(i));
}
(i=0;i{
document.getElementById(GameID[i]+“_容器”).addEventListener('click',gameAccessCallback(i));
}
这里的问题是您正在执行document.getElementById(…)。单击()
。DomeElement没有单击方法!jQuery确实如此,但您在这里似乎没有使用它
试试这个:
for (i = 0; i < numberOf; i++) {
document.getElementById(gameIds[i] + "_container ").addEventListener('click', gameAccessCallback(i));
}
(i=0;i{
document.getElementById(GameID[i]+“_容器”).addEventListener('click',gameAccessCallback(i));
}
这里的问题是您正在执行document.getElementById(…)。单击()
。DomeElement没有单击方法!jQuery确实如此,但您在这里似乎没有使用它
试试这个:
for (i = 0; i < numberOf; i++) {
document.getElementById(gameIds[i] + "_container ").addEventListener('click', gameAccessCallback(i));
}
(i=0;i{
document.getElementById(GameID[i]+“_容器”).addEventListener('click',gameAccessCallback(i));
}
您的问题提到了GameID[i]\u容器,但这不是有效的Javascript。类似的问题:我不认为这是重复的。他的gameAccessCallback
函数解决了这些副本中的问题。他只是没有正确绑定事件。你的问题提到了GameID[i]\u容器
,但这不是有效的Javascript。类似的问题:我不认为这是重复的。他的gameAccessCallback
函数解决了这些副本中的问题。他只是没有正确绑定事件。你的问题提到了GameID[i]\u容器
,但这不是有效的Javascript。类似的问题:我不认为这是重复的。他的gameAccessCallback
函数解决了这些副本中的问题。他只是没有正确绑定事件。你的问题提到了GameID[i]\u容器
,但这不是有效的Javascript。类似的问题:我不认为这是重复的。他的gameAccessCallback
函数解决了这些副本中的问题。他只是没有把这件事安排妥当。