外部JavaScript不能在Firefox上运行

时间:2016-10-12 23:40:45

标签: javascript javascript-events cross-browser

这是原始的codepen,在firefox上,对我不起作用: https://codepen.io/eddyerburgh/pen/zvdgpe

这个简单的外部javascript to toggle FAQS无法在Firefox上运行:

public static void main(String[] args) {
    String sampleInput = "uvw";
    System.out.println("Calling the method on the sample input gives us: " +
        makeString(sampleInput)
    );
}

在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;
}

// 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";
    }
}

当我检查事件时,它没有显示这部分

1 个答案:

答案 0 :(得分:0)

如果您查看控制台,您将清楚地看到错误

ReferenceError: event is not defined

您将活动定义为e,但使用event

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

将其更改为event

function openQuestion(event) {