首页 > 解决方案 > 如何在不触发函数的情况下将变量传递给 jQuery click/onclick 函数?

问题描述

加载 DOM 后,我的纸牌游戏会触发所有纸牌的点击事件。我的代码最初看起来像

$.each(cardArray, function(i,value){
 var activeCard = $('<div class="cardContainer" title="'+cardArray[i]['name']+'" >'+cardArray[i]['damage']+'</div>');
 activeCard.click(doStuff(i,activeCard));
}

但是在找到对同一问题的其他一些有用的响应后,我发现这是由于 () 导致函数执行,所以我的新调用应该看起来像

$.each(cardArray, function(i,value){
 var activeCard = $('<div class="cardContainer" title="'+cardArray[i]['name']+'" >'+cardArray[i]['damage']+'</div>');
 activeCard.click(doStuff);
}

不幸的是,这意味着我无法传递我需要的变量。这里有哪些可能的解决方案或最佳实践?

标签: javascriptjquery

解决方案


推荐阅读