@@ebody
Was ist, wenn ich z.B. 3 Formulare habe
Dann kannst du event delegation nutzen: Du registriert einen Eventhandler für ein Element oben im DOM:
document.body.addEventListener('click', event => {});
Darin fragst du ab, ob das click
-Event durch einen Button ausgelöst wurde:
document.body.addEventListener('click', event => {
if (event.target.nodeName === 'BUTTON') {}
});
Wenn du noch andere Buttons mit anderen Funktionen auf der Seite hast, musst du die Bedingung natürlich spezifischer machen, bspw. über eine Klasse der Buttons.
Wenn der click
nun durch einen Button ausglöst wurde, soll der gerade an anderer Stelle gezeigte Code ausgeführt werden:
document.body.addEventListener('click', event => {
if (event.target.nodeName === 'BUTTON') {
const testElement = event.target.form.querySelector('.test');
testElement.parentNode.removeChild(testElement);
}
});
Fertig.
Event delegation geht übrigens auch mit jQuery. Aber man braucht jQuery heutzutage i.A. nicht mehr.
LLAP 🖖
--
Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.
Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.