2014-02-11 3 views
0

이미지 (게임 카드 인 경우)를 클릭 할 때 함수를 실행하려고하지만 작동하지 않습니다. 내가 무슨 짓을했는지jquery를 사용하여 click 이벤트를 처리합니다.

:

function setPlayerCards(cards) 
{ 
    for(var i=0 ; i <cards.length ; i++) 
    { 
     var cardID = createCardID(cards[i]); 
     var imagePath = createCardImagePath(cards[i]); 

     $('<img class="card id="'+cardID +'" src=' + imagePath + '>').appendTo($("#playerCards")); 
     $("#" + cardID).click(function() 
     { 
      console.log(cardID + " clicked");//Just wrote it for debugging 
      cardFromHandHBoxPressed(cards[i]); 
     }); 
    } 
} 

요소가 성공적으로 만들어 내가 카드 이미지를 볼 수 있습니다,하지만 난을 클릭하면 아무 일도 발생하지 않습니다.

또한 클릭 한 후 기능을 실행하는 다른 방법을 시도 ...하지만 아무것도

어떤 도움을 이해할 수있을 것이다 .. 나를 위해 작동하지 않습니다.

감사합니다.

+0

후 동적으로 생성되기 때문에 심지어는 다음 event delegation 방법을 사용하여 작동하지 않습니다 작동중인 (비) 작업 코드를 보여주는'jsfiddle' 링크 –

답변

2

, 당신이 동적으로 생성 된 태그에 " 누락되어 작동하지 않는 이유

$('<img class="card" id="'+cardID +'" src=' + imagePath + '>').appendTo($("#playerCards")); 
//.................^.................... 

버튼이

$("#playerCards").on('click',"#" + cardID,function() 
{ 
    console.log(cardID + " clicked");//Just wrote it for debugging 
    cardFromHandHBoxPressed(cards[i]); 
}); 
+0

고마워요! "누락되었습니다."변경되었습니다. 어쨌든, 이벤트 위임이 요소의 모든 자식에 사용되는 것을 봅니다. 그러나 다른 매개 변수로 "cardFromHandHBoxPressed (x)"함수를 실행하려고합니다. 내 카드 하나 하나마다 .. 그래서 내 원래의 솔루션을 시도했지만 지금은 모든 카드를 클릭 할 수없는 것 같습니다. – NST111

관련 문제