Thread View: de.comp.lang.javascript
5 messages
5 total messages
Started by Stefan Mayer
Sun, 24 Nov 2019 14:01
Ereignis selbst auslösen. "new Event()" notwendig?
Author: Stefan Mayer
Date: Sun, 24 Nov 2019 14:01
Date: Sun, 24 Nov 2019 14:01
50 lines
1175 bytes
1175 bytes
Hallo Leute Grade versuche ich selbst das Ereignis "change" auf eine checkbox anzuwenden, da sind mir ein paar Fragen eingefallen. Folgender Aufbau: ``` <input id=checkbox type=checkbox name=test value=test> ``` ``` const checkbox = document.getElementById('checkbox'); checkbox.addEventListener('change', e => { if (checkbox.checked) { // ausgewählt } else { // nicht ausgewählt } }); ``` Ist die Prüfung auf "checkbox.checked" i.O. oder sollte man hier auf "e.target.checked" prüfen? Ist "checkbox.checked" === "e.target.checked"? Bzw. "checkbox.checked" == "e.target.checked"? Wenn nun eine Bedingung erfüllt ist, möchte ich die checkbox selbst markieren und das Ereignis "change" auslösen, damit der EventListener informiert wird. ``` if (Bedingung) { checkbox.checked = true; checkbox.dispatchEvent(new Event('change')); } ``` - Muss "Event" tatsächlich selbst erzeugt werden? - Hat "checkbox" nicht eine Methode die das erledigt (check > dispatch)? - Warum löst "checkbox.checked = true" das Ereignis nicht aus? Danke und schönen Sonntag noch. ciao, Stefan
Re: Ereignis selbst auslösen. "new Event()" notwendig?
Author: Stefan Mayer
Date: Mon, 25 Nov 2019 10:55
Date: Mon, 25 Nov 2019 10:55
32 lines
781 bytes
781 bytes
Stefan Mayer am Sonntag, 24. November 2019 (14:01): > ``` > const checkbox = document.getElementById('checkbox'); > checkbox.addEventListener('change', e => { > if (checkbox.checked) { > // ausgewählt > } else { > // nicht ausgewählt > } > }); > ``` > Ist die Prüfung auf "checkbox.checked" i.O. oder sollte man hier auf > "e.target.checked" prüfen? > Ist "checkbox.checked" === "e.target.checked"? > Bzw. "checkbox.checked" == "e.target.checked"? Überflüssige Frage, einfach probieren? console.log(checkbox == e.target) // true console.log(checkbox === e.target) // true Neue Frage: Ist e.target eine Referenz auf checkbox oder eine Kopie zum Zeitpunkt des Ereignisses? Ich find's raus. ciao, Stefan
Re: Ereignis selbst auslösen. "new Event()" notwendig?
Author: Stefan Reuther
Date: Mon, 25 Nov 2019 18:29
Date: Mon, 25 Nov 2019 18:29
13 lines
475 bytes
475 bytes
Am 25.11.2019 um 10:55 schrieb Stefan Mayer: > Stefan Mayer am Sonntag, 24. November 2019 (14:01): >> const checkbox = document.getElementById('checkbox'); >> checkbox.addEventListener('change', e => { >> if (checkbox.checked) { [...] > Neue Frage: Ist e.target eine Referenz auf checkbox oder eine Kopie zum Zeitpunkt des > Ereignisses? Ich find's raus. Das ist ein DOM-Knoten mit ein paar Fantastilliarden Attributen, der wird nicht mal eben ohne Not kopiert. Stefan
Re: Ereignis selbst auslösen. "new Event()" notwendig?
Author: ram@zedat.fu-ber
Date: Wed, 23 Dec 2020 15:41
Date: Wed, 23 Dec 2020 15:41
7 lines
222 bytes
222 bytes
Stefan Mayer <meniskus@gmx.net> writes: >Wenn nun eine Bedingung erfüllt ist, möchte ich die checkbox selbst >markieren und das Ereignis "change" auslösen, damit der EventListener >informiert wird. checkbox.click()
Re: Ereignis selbst auslösen. "new Event()" notwendig?
Author: Stefan Mayer
Date: Tue, 29 Dec 2020 12:55
Date: Tue, 29 Dec 2020 12:55
16 lines
439 bytes
439 bytes
Stefan Ram: > Stefan Mayer <meniskus@gmx.net> writes: > >Wenn nun eine Bedingung erfüllt ist, möchte ich die checkbox selbst > >markieren und das Ereignis "change" auslösen, damit der EventListener > >informiert wird. > > checkbox.click() Danke. So hatte ich es dann auch notiert. Es war mir zuerst nicht ganz klar, dass der EventListener auf "change" auch beim Event "click" nichts Falsches ist. ciao, Stefan
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads