Wie entferne ich ein Bootstrap-Modal, das über jQuery eingefügt wurde?

8

Ich entschied, dass ich ein Skript haben wollte, das ich verwenden könnte, wenn ich benutzerdefinierte Bootstrap-Modale einfügen müsste. Ich wollte nicht das leere statische Bootstrap Modal HTML am Ende jeder Seite haben, wenn es nicht immer benutzt würde.

Also, das könnte der falsche Weg sein, aber das war mein Versuch. Ich erstelle eine Variable, die das modale "shell" html ist. Wenn ich dann auf ein Geräteelement klicke, wird dieses an den Körper angehängt. Ich habe etwas Inhalt dann geklont und an Header und Body des Modals angehängt. Alles funktioniert gut. Aber ich kann das Modal nicht entfernen, sobald es geschlossen ist. Das hat etwas damit zu tun, dass ich den HTML-Code über JS einfüge, da das Entfernen funktioniert, wenn der Modal-Shell-HTML-Code statisch in meiner HTML-Seite existiert.

HTML:

%Vor%

jQuery:

%Vor%

Also wirklich, es ist nur das Entfernen () Ich kämpfe mit. Aber auch Kommentare darüber, ob ich falsch / ineffizient damit umgehe, sind immer hilfreich beim Lernen!

    
davidpauljunior 14.05.2013, 00:59
quelle

1 Antwort

16

Sie versuchen, den Ereignishandler für das Ereignis hidden zu binden, bevor das .custom-modal div zum DOM hinzugefügt wird, sodass der Ereignishandler nie an irgendetwas gebunden ist.

Sie können dies auf zwei Arten tun.

  1. Delegieren Sie den Ereignishandler hidden so, dass das Dokument immer auf hidden -Ereignisse wartet, die von einem beliebigen Element mit einer Klasse benutzerdefinierter Modalität stammen:

    %Vor%
  2. Binden Sie den Ereignishandler, nachdem Sie dem DOM das modale Div hinzugefügt haben:

    %Vor%

Option 1 ist vorzuziehen, besonders wenn die Möglichkeit besteht, dass mehrere Modale geöffnet werden.

    
thefrontender 14.05.2013, 01:25
quelle

Tags und Links