也許我只是一個jQuery noob,但我不明白爲什麼當我設置元素加載時運行的.click事件。AJAX jQuery .click元素在加載而不是點擊運行函數
代碼:
//Deal Cards button
$(".draw-cards").click(function(){
var playerId = 1;
var gameId = 20;
$.ajax({
type: 'GET',
url: './system/actions/draw.php',
data: "playerId=" + playerId,
success: function(data) {
//Post to Player Card container
$('#player-cards').html(data);
//Resize Fonts
fontSize();
//For each loaded check if usable
$(".card").each(function() {
var cardId = $(this).attr('id');
comparePlayerCard(cardId, function(data) {
console.log(data);
if (data == 1){
$("#"+cardId+".card").css('box-shadow', '0px 0px 12px 6px #00ff40');
$("#"+cardId+".card").click(addCardToInventory(playerId, gameId, cardId)); // <---- PROBLEM CODE
}
});
});
}
});
});
在函數內部
$("#"+cardId+".card").click(addCardToInventory(playerId, gameId, cardId));
正在運行時,通過AJAX元素的負荷,那麼它不會當我點擊的單元工作。不知道爲什麼。
有什麼建議嗎?
'addCardToInventory(playerId,gameId,cardId)'將直接調用該函數而不是點擊時。使用匿名函數'$(「#」+ cardId +「.card」)。click(function(){ addCardToInventory(playerId,gameId,cardId) });' – Tushar
嘗試在匿名函數中調用'function' ' - '$(「#」+ cardId +「。card」)。click(function(){ addCardToInventory(playerId,gameId,cardId)});' –
非常感謝你 – wUmpage