Domanda

Ho creato galleria fotografica di vista modale semplice che diventa immagine in cui l'utente fa clic e lo mostra in opere view.It modali ma il problema se l'utente ha fatto clic 2 o 5 volte, mentre vista del modello si apre poi mostra 2 o 5 le stesse immagini in vista modale . Ho usato come

$('.popup_block').find('div#userPhoto').append($theImage.clone());

Come posso limitarlo?

Questa è la mia funzione che l'azione dell'utente cattura clic. funzione di caricamento che crea vista modale e così on.And ci vogliono 2-3 seccond

$(this).bind('click',function(){
var $this=$(this);

loading($this);

});
È stato utile?

Soluzione

Invece di .append() che aggiunge contenuto, l'uso .empty() prima o .html() che lo sostituisce:

$('.popup_block').find('div#userPhoto').html($theImage.clone());

Per chi facendo un doppio introito, questo non è quello che sembra, da davvero accadendo con .html() sopra è una scorciatoia per questo :

$('.popup_block').find('div#userPhoto').empty().append($theImage.clone());

Altri suggerimenti

Hai provato unbind?

Porre unbind all'interno della funzione loading() modo che scatti successivi non fanno invocare il processo. -

$("#element").unbind('click'); 

Dove #element è l'identificatore dell'elemento su cui si sta chiamando il bind()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top