如何删除事件监听器,并用新的监听器替换?

时间:2020-04-27 06:46:07

标签: javascript addeventlistener removeeventlistener

我正在做一个选择题。当我删除事件监听器时,似乎无法将其替换为新的事件监听器。

在下面查看我的代码...

choiceC.removeEventListener('click', firstQuestion());

choiceC.addEventListener('click', function (event) {
    question.appendChild(feedback);
});

choiceB.removeEventListener('click', firstQuestion());

// Correct Answer
choiceB.addEventListener('click', function (event) {
    thirdQuestion();
});

choiceC是将用户移至下一个问题的上一个正确选择。我想用用户选择错误的反馈来代替此事件监听器。 choiceB是新的正确答案。我想删除以前通知用户选择错误的事件监听器,然后将其替换为移至下一个问题的函数。

有关完整的HTML,CSS和JavaScript文件,请参见我的GitHub存储库:https://github.com/billyhao12/Code-Quiz

在此先感谢提供帮助的人。

1 个答案:

答案 0 :(得分:0)

因此,您应该保留对该函数的引用:

choiceC.addEventListener('click', firstQuestion);

choiceC.removeEventListener('click', firstQuestion);

// your new function replacing the firstQuestion func
choiceC.addEventListener('click', function (event) {
    question.appendChild(feedback);
});