This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
nested eventlistener
#1
Hallo ist das generell problematisch, wenn man man einen Eventlistener in einem Eventlistener ausführt?
ich habe einen Marker bei google maps . Über den ersten click erhalte ich informationen zu dem Marker und versuche aus dem HTML über document.getElement einen button von außerhalb zu verwenden. Mit console.log wird der Button auch erkannt. Bekomme aber trotzdem den Fehler:

TommySupertramp_map_21_04_2022.html:1488 Uncaught TypeError: btntest.addListener is not a function
    at _.dh.<anonymous> (TommySupertramp_map_21_04_2022.html:1488:13)
    at Cf.dw (js?key=AIzaSyCgCHjiJP0Q9XlqqT9cIj0eK_NFUbdleqA&callback=initMap:257:345)
    at Object._.F.trigger (js?key=AIzaSyCgCHjiJP0Q9XlqqT9cIj0eK_NFUbdleqA&callback=initMap:252:473)
    at DG.<anonymous> (marker.js:31:389)
    at Cf.dw (js?key=AIzaSyCgCHjiJP0Q9XlqqT9cIj0eK_NFUbdleqA&callback=initMap:257:345)
    at Object._.F.trigger (js?key=AIzaSyCgCHjiJP0Q9XlqqT9cIj0eK_NFUbdleqA&callback=initMap:252:473)
    at Object.onClick (marker.js:24:248)
    at lha._.n.onClick (common.js:146:275)
    at HTMLDivElement.Ko.C._.dm.Qd (common.js:56:469)
Zitieren
#2
Kommt darauf an.
Wenn du z. B. ein mousemove Event hast und dadrinnen eine klick Event hast kann, das schon mal zum Absturz kommen. Es gibt auch remove eventlistener , wo man das erste Event entfernen kannst.
Hast du dein Code online , sodass man das man testen kann?
Als Lösung markieren Zitieren
#3
Leider nicht, da das über mein Localhost läuft. Im prinzip schaut das so aus:

marker.addListener( 'click', function() {
pre = "";
var shortform = "";
getContentFetchAPI(marker.name,CreateCarousselIMGs_InfoWindow)
infoWindow.open( map, marker );
console.log(marker.name)
console.log(marker.id)
console.log(marker.type)

if (marker.type == "topTown"){
pre = "B"
}
else if (marker.type == "Town"){
pre = "B"
}
else{
pre = "A"
}
shortform = String(pre) + "-" + String(marker.id)
console.log(shortform)

btn = document.getElementById("addto")
btn.addListener( 'click', function() {
...
})

beim 2 addListener komme immer der Fehler
Als Lösung markieren Zitieren
#4
Schade das man das nicht komplett sehen kann.
Kannst du nicht bei https://codepen.io ein Beispiel erstellen, oder hier den ganzen Code posten.

Ich würde den eventlistener aus den anderen Eventlistener herausnehmen , das geht sicherlich auch so
Als Lösung markieren Zitieren
#5
Hi, es geht sobald ich addEventListener nutze statt eventlistener. Smile Wo liegt eig der Unterschied zwischen beiden?
Als Lösung markieren Zitieren
#6
Das kann ich dir auch nicht so richtig erklären.
Vielleicht hilft dir das ein bisschen weiter
https://stackoverflow.com/questions/6998...ntlistener
Als Lösung markieren Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste