Ein Element erstellen, das es selbst entfernen kann?

7

Ich baue eine Lightbox als Schulprojekt und kann jQuery nicht verwenden. Ich habe ein Bild. Wenn Sie darauf klicken, erstellt Javascript ein transparentes Div mit der ID "overlay". Ich möchte, dass das div sich selbst entfernt, oder das übergeordnete Element, um es zu entfernen, aber es funktioniert nicht. Ich denke, es hat damit zu tun, dass man "onclick" nicht mit einem Element verknüpfen kann, das noch nicht existiert.

    
Sam 27.03.2013, 00:49
quelle

3 Antworten

19

Sie müssen das Element vom Eltern entfernen. Etwas wie das:

%Vor%

Oder Sie könnten es einfach verstecken:

%Vor%

Und, oh: Sie können Javascript-Code zu einem (neu erstellten) Element hinzufügen, indem Sie dem onclick-Attribut eine Funktion zuweisen.

%Vor%     
bart 27.03.2013, 01:09
quelle
1

Verwenden Sie den Handler onclick nicht im Tag, verwenden Sie JavaScript-Ereignisfunktionen wie addEventListener , um das Ereignis dynamisch zu den Elementen hinzuzufügen. Sie sollten auch sicherstellen, dass Sie beim Entfernen der Elemente alle Ihre Referenzen ordnungsgemäß bereinigen (mit anderen Worten, die Ereignishandler abmelden).

    
Brandon Buck 27.03.2013 00:53
quelle
0

Ich habe es :) Ich tat es wie Bart traurig, aber es hat nicht funktioniert. Mein Code sah ungefähr so ​​aus:

%Vor%

der Browser geht wie wtf? weil es den Code liest und denkt "Ich kann nicht überprüfen, ob der Benutzer auf ein nicht vorhandenes Element geklickt hat." Also habe ich das gemacht:

%Vor%     
Sam 27.03.2013 11:07
quelle