2014-01-06 3 views
0

if 문을 사용하여 e.currentTarget.id가 "경고"또는 "기록"과 같지 않은지 확인하고 이것이 작동하지 않는지 확인하려고합니다. 이 상황과 같은 두 가지 조건을 확인하는 또 다른 방법이 있습니까? ID가 두 개의 서로 다른 문자열 때문에 동일하지 그 중 하나는 항상 true가됩니다 수 있기 때문에if 문 - 여러 조건

var buttons = elt.find(":submit,:button,.clickable"); 
    buttons.unbind("click"); 
    buttons.click(function (e) { 
    put({ "tag": "click", "id": e.currentTarget.id}); 
    if(e.currentTarget.id != "alert" || e.currentTarget.id != "history"){ 
     $(".hide_on_click").hide(); 
    } 
    }); 
+0

'||'를'&&'로 변경하십시오. DeMorgan의 법칙을 기억하십시오 :'! p &&! q ===! (p || q)':-) –

+0

그랬습니다 !! 정말 고맙습니다. – user2512696

답변

5

귀하의 문은 항상 true가됩니다.

var buttons = elt.find(":submit,:button,.clickable"); 
    buttons.unbind("click"); 
    buttons.click(function (e) { 
    put({ "tag": "click", "id": e.currentTarget.id}); 
    if(e.currentTarget.id != "alert" && e.currentTarget.id != "history"){ 
     $(".hide_on_click").hide(); 
    } 
    }); 

나는 무엇을하고 싶은지 잘 모르겠다. id가 그 값이 아닌 경우에 숨기고 싶다면 위의 코드를 사용하십시오.