EventListener in JavaScript entfernen, nachdem ein Ereignis aufgetreten ist?
Es warten 24 Div-Objekte auf einen Mausklick. Nach einem Klick auf ein Div-Objekt möchte ich das @ entfernEventListener
von allen 24 Div-Objekten.
for (var i=1;i<=24;i++){
document.getElementById('div'+i).addEventListener('click',function(event){
for (var z=1;z<=24;z++){
document.getElementById('div'+z).removeEventListener()//Problem lies here
}
//Some other code to be run after mouseclick
},false);
}
Das Problem ist, dass dasremoveEventListener
ist verschachtelt inaddEventListener
und ich muss den Typ, den Listener und die Beschriftung als Attribute für das @ definierremoveEventListener
Methode. Und ich denke, es ist unmöglich, den Listener wegen der Verschachtelung zu definieren.
Ich habe auch versucht, einen Funktionsnamen zu definieren, aber es hat nicht funktioniert:
for (var i=1;i<=24;i++){
document.getElementById('div'+i).addEventListener('click',function helpme(event){
for (var z=1;z<=24;z++){
document.getElementById('div'+z).removeEventListener('click',helpme,false);
}
//Some other code to be run after mouseclick
},false);
}