2014-10-23 3 views
0

그래서 방금 droppable에 놓인 draggable의 ID를 확인하는 if 문이 있습니다. if 문이 제대로 작동하는지 보려면 console.log을 사용하여 콘솔을 검사했습니다. 올바른 true/false 값을 반환하지만 false를 반환하더라도 코드를 실행하고 else는 실행하지 않습니다. 나는 많은 코드에 게시하지 않았는데, 이는 if 문에 문제가 있다는 것이고 코드 전체에는 문제가되지 않기 때문이다. if 문은 === 뒤에 오는 것에 관계없이 실행됩니다. 다른 사람이이 문제를 겪고 무한 재귀와 관련이 있다는 것을 알았지 만 그 대답은 내가 알아야 할 코드에 너무 구체적이었습니다.거짓 일 때도 if 문을 실행하는 경우

$("#game1drop1").droppable ({ 
    drop: function(e,ui) { 
     if ($(ui.draggable[0].id === "game1img1")) { 
      $("#game1drop1").addClass("correct")} 
     } 
     else{ 
      $(ui.draggable[0]).addClass("positionWrong") 
     } 
    } 
}); 
+2

이 식은 전체 부울 표현식이 '$ (투입된다 (ui.draggable [0] .ID === "game1img1")''$ 이상이다 .. .)'? –

답변

6

테스트 결과가 $()입니다. 그래서 동등의 :이 jQuery를 객체에 false 포장되어

if ($(false)) { 

, 모든 객체는 truthy 있습니다.

그것은 같아야

if (ui.draggable[0].id === "game1img1") { 
+0

감사합니다. – Peter

관련 문제