2013-09-28 1 views
0

나는 help.aria-hidden === "true" 을 확인하고 있습니다. 그러나 작동하지 않습니다. 무엇이 잘못 되었나요? 제발 도와주세요.javascript 객체로 아리아 숨김 속성을 사용할 수 없습니다.

감사합니다.

function Help() { // Help 
    var help = document.getElementById("help_content"), 
     overlay = document.getElementById("overlay"); 

    function closeHelpAndOverlay() { 
     help.setAttribute("aria-hidden", "true"); 
     overlay.setAttribute("aria-hidden", "true"); 
     textarea.focus(); 
    } 

    if (help.aria-hidden === "true") { 
     closeHelpAndOverlay(); 
    } else { 
     help.setAttribute("aria-hidden", "false"); 
     overlay.setAttribute("aria-hidden", "false"); 
     textarea.blur(); 
     document.getElementById("overlay").onclick = function() { 
      closeHelpAndOverlay(); 
     }; 
     document.onkeydown = function(e) { // esc to close help 
      if (e.keyCode === 27 || e.which === 27) { 
       closeHelpAndOverlay(); 
      } 
     }; 

    } 

} 
+0

가능한 중복 (http://stackoverflow.com/questions/7122609/how-do-i-reference : 브래킷 구문을 사용 -a-javascript-object-property-with-hyphen-in-it) –

답변

3

하이픈을 포함하는 속성에 대해 마침표 구문을 사용할 수 없습니다 (하이픈은 빼기 연산자로 해석되므로). [? 어떻게 내가 거기에 하이픈으로 자바 스크립트 객체 속성을 참조 함]

if (help['aria-hidden'] === "true") { 
+0

값이 하이픈이 아니라는 점을 빼면 빼기 연산자입니다. – benekastah

+0

@benekastah : 그래, 나는 생각하고 똑같이 추가했다. :) – Guffa

+0

고마워요. 그게 내 문제 였어. – drdrb

0

당신은 Help()를 호출하여, 당신은 또한 라인 (5)에 도달하면 즉시 closeHelpAndOverlay()를 호출 할 거라고 기대하고 있습니까? 생각하고 계신 것 같지만 사실이 아닙니다. 정의한 후에 명시 적으로 closeHelpAndOverlay()에 전화해야합니다.

문제가 발생하지 않는다면 도움이 필요한 내용을 명확히 기술하십시오. "효과가 없다"는 사람들이 당신을 도울 수있는 것이 아닙니다.

관련 문제