So versuche ich, meine addEventListener-Funktion mithilfe der removeEventListener-Funktion zu entfernen. Ich habe viel darüber gelesen, dass ich eine Handler-Funktion einbauen muss, was ich getan habe.RemoveEventListener ohne laufende Funktion
Eines der Probleme ist, dass ich darauf bin, dass ich den Eventlistener entfernen möchte, wenn ich eine Eingabe mit googles Suchfeld ändere. Es macht nichts, Google aber wirklich alles, was passiert, ist es zu identifizieren, wenn der Eingabewert geändert hat und neue Ergebnisse liefert. So ein Stück Code
var input = document.getElementById('search-input');
var searchBox = new google.maps.places.SearchBox(input);
google.maps.event.addListener(searchBox, 'places_changed', locationChange);
function previousButtonFunction(){
//Does something here and does not return anything. Lets just say it places markers all over the map
}
function locationChange() {
var previousButton = document.getElementById('previous');
previousButton.removeEventListener('click', previousButtonFunction());
previousButton.addEventListener('click', function() { previousButtonFunction()})
};
Also dieser Code sieht aus wie es keinen Sinn für Sie wahrscheinlich nicht machen, aber was ich versuche zu bekommen, dass auf dem ersten Eingang wäre es den Add-Ereignis-Listener ausgeführt und Führen Sie die removeEventListener-Funktion nicht aus. Sobald sich der Wert der Eingabe geändert hat, möchte ich den aktuellen Listener entfernen und die vorherige Schaltfläche mit einem neuen addeventlistener neu identifizieren.
Auf den ersten gehen, merke ich, dass die Funktion von previousButtonFunction() ausgeführt wird, die ich dachte, dass es nur ausgeführt würde, wenn es einen identifizierten Listener gäbe. Die erste Frage ist also die Funktion removeEventListener, die ausgeführt werden soll, wenn der Eventlistener nicht hinzugefügt wurde? Zweitens, wie kann ich den addEventListener entfernen, ohne die Funktion auszuführen? Müsste ich eine Tracking-ID wie true eingeben => run it/false => nicht ausführen?
Dank jede Hilfe sehr geschätzt
nicht()
nach dem Funktionsnamen ist
Also für den addEventListener könnte ich einfach .addEventListener ('click', previousButtonFunction)? –
@JuliusDoan - Ja, das wird gut funktionieren. Wenn nur der Funktionsname verwendet wird, wird ein Verweis auf die Funktion übergeben, die '.addEventListener()' und '.removeEventListener()' erwarten. – jfriend00
Oh wow, naja, der erste Teil, der das() löscht, funktioniert perfekt für den removeEventListener. In Bezug auf den addEventListener() hat es nicht so viel funktioniert. Ich habe es als Funktion() {previousButtonFunction (parameters)} behalten und es hat funktioniert. –