jquery.ajax - script dopo l'esecuzione
Salve,
mi ritrovo con un piccolo problemino su cui mi sono bloccato, con ajax via jquery.
Il punto è questo:
Dopo aver eseguito un'azione via ajax, le funzioni adibite agli altri comandi, non funzionano più.
Spiego meglio con un esempio
Pagina di esempio: h**p://lastwings.altervista.org/test/index.php?galleryid=1
Facendo riferimento alla pagina su indicata, che porto come esempio, ho queste tre icone:
http://shared.animesunshine.com/icons/activeimage.png Attiva / Disattiva
http://shared.animesunshine.com/icons/zoomimage.png Fancybox
http://shared.animesunshine.com/icons/deletecontent.png Messaggio di conferma
Cliccando sul pulsante di attivazione e disattivazione, eseguo via ajax le dovute operazioni, tuttavia una volta che l'operazione è conclusa, i pulsanti come Fancybox, e Messaggio di conferma non funzionano più, stessa cosa se clicco sul pulsante col messaggio di conferma e dopo provo ad avviare la fancybox.
Se dopo l'esecuzione dello script via ajax, faccio ricaricare i vari .js
Codice HTML:
<script type="text/javascript" src="themes/default/js/js.js"></script>
Ovviamente funziona; il problema è che non essendo poche le righe di codice, il risultato è devastante
http://shared.animesunshine.com/av/firebug.jpg -> (screenshot sullo script effettivo)
mandando in freeze il browser
Di seguito il codice Javascript, delle pagina di test
Codice HTML:
$(document).ready(function() {
$('a[rel=ajax]').live('click',function(event){
event.preventDefault();
$('.section').fadeIn(2000);
$.get(this.href,{},function(response){
$('.section').empty();
$('.section').html(response).fadeTo(900,1);
})
})
$(".confirm").easyconfirm({locale: {
title: $("#title").html(),
text: $("#question").html(),
button: ['Annulla','Conferma'],
closeText: 'Esci'
}});
$(document).ready(function() {
$("a[rel=zoom]").fancybox({
'titlePosition' : 'over',
'overlayOpacity' : '0.9',
'overlayColor' : '#4C5977'
});
});
});
Ho già guardato in giro, senza trovarne la risoluzione.
- Utilizzo già ".live" al posto di ".click" e ".bind" nelle funzioni.
- Ho provato racchiudendo tutto lo script dentro una grande funzione e poi richiamandola, dopo l'esecuzione
- Provato con ".append"
Il ".load()" per il richiamo dei file .js dopo l'esecuzione via ajax è da escludere.
Vorrei inoltre evitare di utilizzare un ulteriore libreria e o script per l'esecuzione via ajax, dato che utilizzo jquery per altre parti.
Per ulteriori informazioni, resto a disposizione.
Grazie a chi mi aiuterà.