Javascript removeeventlistner不在按钮单击上工作
Javascript removeeventlistner不在按钮单击上工作,javascript,html,Javascript,Html,document.getElementById('divv').addEventListener(“单击”,func) 函数func(a){ 警报(“oooo”); } 函数abc(){ document.getElementById('divv')。removeEventListener(“单击”,function(){func()}); } 我是维韦克 删除,如下所示: document.getElementById('divv').removeEventListener("click",
document.getElementById('divv').addEventListener(“单击”,func)
函数func(a){
警报(“oooo”);
}
函数abc(){
document.getElementById('divv')。removeEventListener(“单击”,function(){func()});
}
我是维韦克
删除
,如下所示:
document.getElementById('divv').removeEventListener("click", func);
请参阅有关的说明
document.getElementById('divv').addEventListener(“单击”,func)
函数func(a){
警报(“oooo”);
}
函数abc(){
document.getElementById('divv')。removeEventListener(“单击”,func);
}
我是维韦克
删除
您没有添加和删除同一个函数,这就是它不起作用的原因
您是这样添加的:.addEventListener(“单击”,func”)
您正在这样删除:.removeEventListener(“单击”,function(){func()})
func
和function(){func()}
调用时不引用相同的函数,即使它们具有相同的结果
您需要以与删除完全相同的方式删除;否则删除将无法“找到”您添加的原始函数:
function abc(){
document.getElementById('divv').removeEventListener("click",func);
}
是的,
removeEventListener
不是这样工作的。请附加一个命名函数(声明的或分配给变量的)作为事件侦听器,并在删除侦听器时引用同一个命名函数。该函数可能重复