2013-07-09 10 views
5

Ho provato il codice qui sotto, ma non funzionaJquery come associare l'evento click sugli elementi creati dinamicamente?

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('body').on('click', '.pg_previous,.pg_next', function() { 
      jQuery("img.lazy").lazy({}); 
      alert('ddsda'); 
     }); 
    }); 
</script> 

Jquery 1.9.1

+0

Questo violino funziona senza la chiamata 'lazy', forse guarda là, o spostare l'allarme in vista della chiamata' lazy'. http://jsfiddle.net/5SyS3/ –

+0

@JasonP questo sta annullando l'evento :(\t "return false;" – MonsterMMORPG

+0

Prova a sostituire 'return false;' con 'e.preventDefault()' –

risposta

11

qui provare questo:

<script type="text/javascript"> 
$(function(){ 
    $('body').on('click', '.pg_previous,.pg_next', function() { 
     jQuery("img.lazy").lazy({}); 
     alert('ddsda'); 
    }); 
}); 
</script> 
+0

Questo l'ha fatto per me! Grazie! Allegare l'evento click all'elemento padre e selezionarne i figli è il modo più efficiente. –

+0

Qual è la differenza? funzione? – robsch

+2

entrambi sono equivalenti, ma per questo p versione articolare di jQuery Ho trovato spesso che la versione lunga non funziona e il collegamento fa. – RicardoE

3

Hai dimenticato il gestore DOM ready

racchiudere il codice all'interno del gestore pronto e dovrebbe funzionare bene se non si ha eventuali errori visualizzati nella nostra console.

$(function() { 
    // Your code here 
}); 
+0

appena provato senza fortuna – MonsterMMORPG

+0

Controlla eventuali errori nella tua console –

+0

ok credo un altro codice annulla l'azione predefinita in modo che annulli anche l'azione vincolata grazie – MonsterMMORPG