所以我有一个if语句,用于检查droppable中刚刚删除的draggable的id。我使用console.log
检查了控制台,看看if语句是否正常工作。它返回正确的true / false值,但即使它返回false,它仍然执行代码而不是else。我没有发布到很多代码,因为我很确定这是我的if语句的问题,而不是整个代码。无论我在===之后放置什么,if语句都会执行。我看到其他人遇到了这个问题,这与无限递归有关,但答案对于他的代码来说太具体了,无法理解。
$("#game1drop1").droppable ({
drop: function(e,ui) {
if ($(ui.draggable[0].id === "game1img1")) {
$("#game1drop1").addClass("correct")}
}
else{
$(ui.draggable[0]).addClass("positionWrong")
}
}
});
答案 0 :(得分:6)
这是因为你的$()
缠绕着你的考试。所以它相当于:
if ($(false)) {
这是将false
包装在jQuery对象中,并且所有对象都是真实的。
应该是:
if (ui.draggable[0].id === "game1img1") {