我不明白为什么removeEventListner()在我的代码中不起作用. 下面是我的代码和简化的名称等:
const form = document.querySelector(".formclass")
function executeUserInput(userInput){
function sayHello(event){
event.preventDefault()
console.log("Hello")
}
if(userInput === "add"){
form.addEventListener("submit", sayHello)
}else{
form.removeEventListener("submit", sayHello)
}
}
当我执行这段代码,并多次触发condition1和else—part时,每次触发condition1时都会添加一个eventlistener,但removeEventListener并没有删除它.当我在google Dev工具中判断时,我还可以看到submit listener在else—part执行后存在. 为什么? 我确实在stackoverflow上发现了一些关于这个问题的问题,但没有一个对我有帮助.
更新了代码,以更准确地表示我的代码,希望这澄清.