2016-10-12 5 views
0

에 작동하지 않는 것은 나에게 작동하지 계속 :https://codepen.io/eddyerburgh/pen/zvdgpe외부 자바 스크립트, 이것은 원래 codepen과 파이어 폭스에 파이어 폭스

FAQ를 전환하기 위해이 간단한 외부 자바 스크립트 것은 파이어 폭스에서 작동하지 않습니다 :

// Get all .faq-question 
var questions = document.getElementsByClassName("faq-question"); 

// Assign openQuestion on click 
for (var i = 0; i < questions.length; i++) { 
    questions[i].onclick = openQuestion; 
} 

// Apply .hidden to sibling .faq-answer 
// Apply .open to .faq-question 
function openQuestion(e) { 
    var answer = (event.target).parentNode.getElementsByClassName("faq-answer")[0]; 
    if (-1 !== answer.className.indexOf("hidden")) { 
     answer.className = answer.className.replace(" hidden", ""); 
    } else { 
     answer.className += " hidden"; 
    } 
    if (-1 !== event.target.className.indexOf("open")) { 
     event.target.className = event.target.className.replace(" open", ""); 
    } else { 
     event.target.className += " open"; 
    } 
} 

Chrome 및 IE에서 완벽하게 작동합니다.

내가 뭘 잘못하고 있니?

이 코드의이 부분에 문제가있을 수 :

// Get all .faq-question 
var questions = document.getElementsByClassName("faq-question"); 

// Assign openQuestion on click 
for (var i = 0; i < questions.length; i++) { 

    questions[i].onclick = openQuestion; 

} 

내가 이벤트를 검사 할 때 당신이 오류가 명확하게됩니다 콘솔에서 볼 경우이 부분

+0

는 F12을 눌러 콘솔을 확인 할 수 있습니다. 오류가 보이십니까? 보안 경고? 네트워크 탭을보십시오. 이 파일이로드되고 있습니까? – Xufox

+0

''Firefox에서 작동하지 않습니다. '-이 기능을 확장 할 수 있습니까? 어떻게해야합니까? 대신 무엇이 발생합니까? –

+0

으로 작업 할 코드 조각 만 있으므로 문제를 "볼"수있을 것이라고 기대하지 마십시오. 또한 [element.classList] (https://developer.mozilla.org/en/)를 사용하는 방법을 배우게됩니다. docs/Web/API/Element/classList) - 지원하지 않는 브라우저, 즉 IE9 이하의 경우에는 "SHIM"이 있습니다. –

답변

0

을 보여 나던

ReferenceError: event is not defined 

당신은 e로 이벤트를 정의하지만, event

을 사용
function openQuestion(e) { <-- use e 
    var answer = (event.target) <-- you use event 

변화는 event

function openQuestion(event) { 
+0

둘 모두에서 이벤트를 사용해야합니까? –

+0

예 ............ – epascarello

+0

슬프게 .... 아무 것도 바뀌지 않습니다. –