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
id wird bei übersetzung der Seite nicht ausgegeben
#1
Hallo zusammen,

bräuchte da mal Infos zum Verständnis denn ich habe keine Erklärung für das Phänomen.

document.getElementById('Entsorgung').addEventListener('click',function(e){Retourendatenabsenden(e.target.id); return false;});




function Retourendatenabsenden(werhatgeclickt){
console.log(werhatgeclickt);
Zeige mal den Teil-Code um den es geht.  Dem Button mit der ID "Entsorgung" wird ein Click Listener zugefügt. Auf der Seite gibt es ein Wort was auf Englisch ist und daher kommt die Abfrage ob die Seite automatisch auf Deutsch übersetzt werden soll.

Wenn ich keine Übersetzung mache, wird mir die ID in der Funktion ausgegeben.
Lasse ich die Seite übersetzen, ist die Ausgabe der ID leer.
Womit hängt das zusammen? Die ID ändert sich für den Button nicht.

Hat jemand eine Erklärung dafür?

Gruß
Zitieren
#2
Das Problem ist mir bisher noch nicht untergekommen...

Ohne das HML zu sehen, das zu dem Code gehört, würde ich mal versuchen das Problem weiter einzugrenzen.

1.  Lass dir mal den Rückgabewert des Aufrufs von 
document.getElementById('Entsorgung')
ausgeben. Ist das in "beiden" Fällen das gleiche Element?

wenn Ja:
2. Lass dir mal in deinem Eventhandler den Wert von
e
ausgeben. Wie variiert der Wert bei den Aufrufen?
Als Lösung markieren Zitieren
#3
finde es komisch.

vor der Übersetzung ist target "button#Entsorgung" die ID ist "Entsorgung"

nach der Übersetzung "font" und die ID ist ""

es wird wohl für jedes Element bei Übersetzung ein Font Style erstellt und dann ist die ursprüngliche ID nicht mehr vorhanden im Target
Als Lösung markieren Zitieren
#4
Hast du dir die Werte, die ich oben erwähnt habe mal ausgeben lassen? Was steht denn da drinnen?

Welchen Browser verwendest du?
Ist das Verhalten in anderen Browsern das Gleiche?
Als Lösung markieren Zitieren
#5
ich nutze Chrome und habe keinen anderen Browser verwendet, da nur dieser in Frage kommt.
Ich habe mir e ausgeben lassen und habe das festgestellt was ich oben geschrieben habe. Das target ändert sich
Als Lösung markieren Zitieren
#6
Wie es scheint, erstellt Chrome ein (oder auch mehrere) font Element(e) um den Text herum, der Übersetzt wird.


Was möchtest du denn erreichen?
Bei deinem Beispiel kennst du die ID, dir übertragen werden soll ja schon ('Entsorgung').
Ist es möglich, die ID direkt zu übergeben?


Da das Target ja ein Kindelement von deinem gewünschten Ziel ist, könntest du dir auch mit closest

e.target.closest('[id]')
das nächste Elternelement mit einer ID holen.
Als Lösung markieren Zitieren
#7
Zitat:Wie es scheint, erstellt Chrome ein (oder auch mehrere) font Element(e) um den Text herum, der Übersetzt wird.
genau so ist es, für jedes, ob es übersetzt werden muss oder nicht.


Stimmt , die ID könnte ich auch direkt mit übergeben anstatt sie erneut auszulesen Big Grin

Aber Deine Lösung ist mal wieder Top!!! mit e.target.closest([id]).id bekomme ich die ID ob übersetzt oder nicht.

DANKE!!!
Als Lösung markieren Zitieren


Gehe zu:


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