Возможно, я просто 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
Попробуйте вызвать функцию' '' в 'анонимной функции '-' $ («#» + cardId + «. card»). click (function() { addCardToInventory (playerId, gameId, cardId)}); ' –
Большое вам спасибо – wUmpage