Newsgroup: it.comp.lang.javascript
Titolo: Qualcusa ha mai provato....load di jquery

Ciao ragazzi,
sto facendo dei testing di alcune funzionalità jquery
ho realizzato questa funzione
function Apri(obj){
	$(document).ready(function(){
	    $("#caricaArticoli").load(obj);
	});
}
<div id="caricaArticoli">
</div>
la funzione l'ho inserita in un contesto di ordinamento delle intestazioni 
delle colonne...
tipo
codice descrizione prezzo
quando clicco sul link codice parte il link
<a href="#"  onclick="javascript:Apri('Articoli.asp?tipo=1')">Codice</a>
su descrizione
<a href="#" 
onclick="javascript:Apri('Articoli.asp?tipo=2')">Descrizione</a>
sul prezzo
<a href="#"  onclick="javascript:Apri('Articoli.asp?tipo=3')">Prezzo</a>
tutto sembra funzionare perfettamente ma dove n volte che provo a cliccare 
tutto si blocca...
 ho verificato che dopo una 20 di volte si blocca come se avesse "esaurito 
una memoria" per caso devo
rilasciare qualcosa dopo che carico o  utilizzare il .load in modo diverso?
qualcuno mi sa dire qualcosa?
grazie mille
 


Premesso che usare gli onclick nel codice usando jquery è  terribile 
(usa un bind di evento, come click, passandogli un attributo 
dell'oggetto) :D
io il load l'ho sempre usato con le opzioni (che a memoria non ricordo, 
ma sono tipo beforeSend, complete, error e finally o una roba del 
genere) per cui diciamo seguivo bene la catena di azione dell'evento.
Potrebbe essere che le tue richieste partono ma non si concludono mai 
fino ad esempio a un timeout?
e quindi una volta saturato il limite del browser di connessioni resti 
fermo fino allo scadere del primo timeout?
Io per dubuggare almeno ti consiglierei di mettere degli alert sulla 
catena eventi del load che ti dica in che stato sei e magari se usi 
firebug vedi stato e risposte delle chiamate.
PS
perchè c'è un document.ready dentro a una funzione che viene chiamata da 
un evento?
Non credo faccia casino, ma è inutile.
-- 
Z.

 <a href="#"  onclick="javascript:Apri('Articoli.asp?tipo=1')">Codice</a>
Se inserisci la chiamata javascript all'interno dei tag html allora
non ha senso usare jquery.
Inoltre ti conviene evitare di usare <a> per non dover gestire il
doppio evento.
Prova in questo modo:
-------
HTML
-------
<ul>
<li class="aa" id="a1">Codice</li>
<li class="aa" id="a2">Descrizione</li>
<li class="aa" id="a3">Prezzo</li>
<ul>
<div id="caricaArticoli"></div>
-------
-------
Javascript (jquery)
-------
$(function() {
$('.aa').click(function () {
var aid = 
this.id
;
var alink = 'Articoli.asp?tipo='+aid.substr(-1,1);
$("#caricaArticoli").load(alink);
});
});
-------
-------
CSS
-------
.aa{cursor:pointer;}
-------

 ha scritto nel messaggio 
news:dbd06d7a-7009-4e4a...@35g2000prp.googlegroups.com...


Ho scritto con i piedi
dicendo :
 Ho provato il  codice che hai postato ma l'effetto è identico alla 
mia....ovvero al 21 click sopra il link descrizione non mi effettua piu 
ordinamenti (ovvero caricamenti della pagina con id della classe passato)
come potrei risolvere questo problema?


 ha scritto nel messaggio 
news:4dd0d19b$0$38646$4faf...@reader1.news.tin.it...


 onclick="javascript:Apri('Articoli.asp?tipo=1')">Codice</a>
Tradotto in italiano:
quando qualcuno clicca su "Codice" richiama una funzione che aspetta che 
il documento sia caricato, e quando lo e` richiama via AJAX qualcosa e 
mettila dentro un div con quell'id".
Mi meraviglia che funzioni anche solo una volta (visto che quando clicchi 
quasi sicuramente il documento e` gia` bello che caricato.
Togli lo schifo di javascript inline e usa qualcosa tipo
<div class="articoli_ajax">
 <a href="Articoli.asp?tipo=1">Codice</a>
 ...
</div>
<script type="text/javascript">
 $(function() { //equivale a $(document).ready(function() {
  $('.articoli_ajax a').click(function() {
   $('#caricaArticoli').load(this.href);
  });
 });
</script>
Bye.

 come potrei risolvere questo problema?
Nel codice postato da te non ci sono ordinamenti, il mio esempio è
corretto nell'uso di jquery, evita inline, non è corretto.
Posta tutto il codice per poterti dare una risposta più completa.