JQuery .append () Problem mit modaler Ansicht
-
08-10-2019 - |
Frage
Ich habe einfache modale Ansicht Foto-Galerie, das Bild wird den Benutzer angeklickt und zeigt es in modal view.It funktioniert, aber Problem, wenn Benutzer geklickt 2 oder 5-mal während Modellansicht öffnet dann zeigt es 2 oder 5 die gleichen Bilder in modaler Ansicht . Früher habe ich wie
$('.popup_block').find('div#userPhoto').append($theImage.clone());
Wie kann ich es begrenzen?
Hier ist meine Funktion, dass Benutzer klicken Sie Aktion zu fangen. Ladefunktion, die modale Ansicht erstellt und so köchelt es dauert 2-3 seccond
$(this).bind('click',function(){
var $this=$(this);
loading($this);
});
Lösung
Statt .append()
die Inhalte anhängt, verwenden .empty()
ersten oder .html()
die ersetzt es:
$('.popup_block').find('div#userPhoto').html($theImage.clone());
Für eine Spätzundung tun, ist dies nicht, wie es aussieht, was ist wirklich mit .html()
geschieht oben ist eine Abkürzung für diese :
$('.popup_block').find('div#userPhoto').empty().append($theImage.clone());
Andere Tipps
Haben Sie versucht, unbind
?
Setzen Sie ein unbind
in der loading()
Funktion, so dass aufeinanderfolgende Klicks nicht aufrufen, um den Prozess. -
$("#element").unbind('click');
Wo #element
ist die Kennung des Elements, auf dem Sie die bind()
anrufen