• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Variable bei .addEventListener übergeben

mischu

Neues Mitglied
Hallo,
benötige etwas Hilfe.

Ich lasse über einen loop buttons aktivieren und definieren. Funktioniert alles wunderbar! Nun versuche ich über .addEventListener die Eingabe neben den buttons in Textform anzeigen zu lassen. Ist es möglich, um nur eine function zu nutzen, eine weitere Variable zu übergeben? Ich weiß leider nicht wie ich diese Variable parallel zu ev übergeben kann. Möchte nur Javascript verwenden.
Danke & Grüße

Code:
for (var l = 0; l < 10; l++) {
    //verschieden Dinge werden ausgeführt
  
    document.getElementById("id_" + l).addEventListener('input', ausgeben("id_" + l));
}

function ausgeben(ev, id) {
    console.log (id);
    document.getElementById(id).value = ev.target.value;
}
 

mischu

Neues Mitglied
Ich habe nun folgendes versucht, aber leider ohne Erfolg:

Code:
for (var l = 0; l < 10; l++) {

    //verschieden Dinge werden ausgeführt

    document.getElementById("id_" + l).addEventListener(
        'input',
        function (cnt){
            return function() {
                document.getElementById("output_" + l).value = ev.target.value
            }
        }
    );
}
 
Zuletzt bearbeitet:

basti1012

Senior HTML'ler
Ich weiß nicht was du bei addEventListener('input') erwartest, aber schau dir mal querySelectorAll an .
Damit sparst du dir das Schleifen gedöns.
Ich weiß nicht was du vorhast ,aber hier kannst du in den Input Feldern reinschreiben und das Ergebniss steht dann da gleich da drunter.
Damit solltest du das was du vorhast eigentlich auch hinbekommen.

Zur Lösung
 
Zuletzt bearbeitet:

Sempervivum

Senior HTML'ler
Dein Ansatz wird funktionieren, wenn Du let statt var verwendest:
Code:
for (let l = 0; l < 10; l++) {

    //verschieden Dinge werden ausgeführt

    document.getElementById("id_" + l).addEventListener(
        'input', function(ev) {
            document.getElementById("output_" + l).value = ev.target.value
        }
    );
}
Zum Verständnis hat basti1012 früher mal diese Demo gemacht:
Wenn du allerdings schreibst:
Ich lasse über einen loop buttons aktivieren und definieren.
dann wäre es u. U. einfacher, gleich beim Erzeugen der Buttons die Eventlistener zu registrieren. Poste doch mal den Code, mit dem Du sie erzeugst.
 
Werbung:

Neueste Beiträge

Oben