ed aggiungo poco
ho letto qualche guida ma con pessimi risultati (se avete da consigliarmi qualche guida e/o libro).
Vorrei tentare di apire come funziona la gestione degli eventi.
Nella pagina principale ho questo codice:
Dove la funzione evento non è altro che una chiamata ajax.codice:var PubEvenet=""; $("*").bind("click",function (event) { var target = event.target; PubEvenet=target;. if (target.id.substr(0,5)=="box__") { if ($("#box").length==0) $('body').append("<div id='box'></div>"); evento("box",target.id); if ($("#box").val()=="") return false; } else if (target.id.substr(0,6)=="exit__") { p=target.id.substr(6); cosa=p; if (cosa=="casmen") cosaid="#boxmenucs"; $(cosaid).fadeOut('slow'); } else { evento(event.type,target.id); if ($("#"+target.id).val()=="") return false; } }).bind("click", function (e) { if (PubEvenet.id.substr(0,8)=="casmen__") { var x = e.pageX - this.offsetLeft; var y = e.pageY - this.offsetTop; if ($("#boxmenucs").length==0) $('body').append("<div id='boxmenucs' style=\"position:absolute; border:1px solid red; background-color:black; color:white;\"></div>"); $("#boxmenucs").css("top",y); $("#boxmenucs").css("left",x); } return false; });
Lo scopo del codice è: se premo ad esempio su:
viene "appeso" al body un div chiamato box dove in ajax ci va a finere l'enenco delle giornate della serie a:codice:<div id="box__elencogiornate">giornate serie a</div>
etc...codice:<div id="casmem__1">1° giornata</div><div id="casmem__2">2° giornata</div>
se si cliecca su "1° giornata" si apre il div "boxmenucs" nella posizione del mouse e viene caricato il codice che da la possibilità di segliere una data
Per semplicità ho ridotto il codice e non ho inserito i css.codice:<table> <td id="mese__1" class="mese">g</td> <td id="mese__2" class="mese">f</td> <td id="mese__3" class="mese">m</td> <tr> <td id="salva">salva</td> <td id=""exit__casmen">esci</td> </table> <script> $("*").bind("click",function (event) { var target = event.target; idt=target.id; pos=idt.indexOf("__"); if (pos!=-1) cosa=idt.substr(0,pos); else cosa=idt; if (cosa=="exit"). return true; if (cosa=="mese") { $(".questomese").attr("class",cosa); $("#"+idt).attr("class","questomeso"); } </script>
Il problema è il seguente:
dopo che viene chiuso il box per il cambio data non viene più letto l'evento click sull'elenco delle giornate di serie a.
esempio:
1) clicco sulla pagina principale "giornate serie a"
2) si apre l'elenco delle giornate.
3) clicco su una giornata "1° giornata"
4) si apre il box della seleziona data... seleziono... esco ... si chiude il box
5) clicco su "2° giornata" e...nulla !!!!
come se l'evento non venisse più gestito...
... nota: sull'elenco delle giornate ho inserito l'evento $("*").hover che continua a funzionare regolarmente.
Il problema è che viene mantenuto la gestione dell'evento click sul box del calendario... ho provato ad inserire anche il undind... ma senza riuscire ad ottenere nulla di buono
Mi sapete dire se è corretto il comportamento ?
Come vengono gestiti gli eventi ?
grazie

 
			
			
 
					
					
					
						 Rispondi quotando
  Rispondi quotando