Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    jquery riferimento a evento caricato

    Salve,
    ho un problema che non riesco a risolvere da almeno 1 settimana.
    In pratica ho inserito il codice javascript nel footer, diverse funzioni che caricano il contenuto tramite la funzione load() o ajax() ... il problema è che non capisco perchè il codice non funziona sul contenuto caricato ma solo sulla pagina principale quindi sul contenuto NON caricato tramite ajax.
    Ho una funzione che dovrebbe fare delle azioni quando viene cliccato un link che è DENTRO il contenuto caricato tramite la funzione ajax()... o load()... o provato cn entrambe ma non ho trovato differenze.

    Qualcuno può aiutarmi a capire?

    Grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Di norma ajax non carica script js se è di questo che stai parlando, una soluzione potrebbe essere trasferire gli script nel documento principale
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    il contenuto è caricato tramite ajax()... con il metodo GET quindi fa riferimento ad una pagina PHP e stampa il contenuto all'interno di un contenitore div... ora... io ho delle funzioni che vorrei fare funzionare anche su questo contenuto ma non funziona! ... Funziona solamente se inserisco questo codice javascript all'interno del file PHP!

    in pratica questo è il codice in questione che carica la pagina:

    codice:
       $('.tabs a').bind('click',function(e) {
             e.preventDefault(); 
             var rel = $(this).attr('rel');
    
             if ( $('#'+rel).find(".standingstable").length) {
             $('#'+rel).hide().fadeIn('fast');
             } else {
    
             var postData = 'league_id='+league_id;
                ajax_loading('#'+rel);
    			$.ajax( {
    				url : 'http://www.kikoweb.it/match/',
    				type : 'get',
    				data : postData,
                    dataType: 'html',				
    				success : function( resp ) {
    					//$this.ajaxHtml = resp;  //cache response
    					$('#'+rel).html( resp ).hide().fadeIn('slow');
    				},
                    timeout: 40000,
                    error: function(xhr,status,strError){
                               alert('Error: ' +xhr.status+ ' - ' +strError);
                    }
    
    			});
    
             
            }
             return false; 
         });
    e questo è l'altro pezzo di codice che vorrei fare funzionare sul contenuto generato:

    codice:
        $('.team a').bind('click',function(e) {
             e.preventDefault(); 
             var p = $(this).parent().parent();
             var tr_id = 'team_info_'+p.attr('id');
             var tr_class = p.attr('class');
             var id_team = p.attr('id').split('_');
    
             if ( $('#'+tr_id).length ) {
             $('#'+tr_id).toggle("fast");
             } else {
             p.after('<tr id="'+tr_id+'" class="'+tr_class+'"><td id="td'+tr_id+'" colspan="12"></td></tr>').hide().fadeIn('fast');
             $('#td'+tr_id).html('<div style="text-align: center">'+ajax_load_mini+'</div>');
             $('#td'+tr_id).load('http://www.kikoweb.it/match/?league_id='+league_id+'&team_id='+id_team[1]);
           }
    
         });
    entrambi i codici sono inseriti nel footer della pagina principale.
    In pratica tutto il contenuto caricato con ajax() non vede nè il codice javascript che è inserito nel footer... nè tanto meno un'altro file js caricato sempre dal footer del documento principale. boh

  4. #4
    finalmente dopo giorni di prove ho trovato una funzione che a quanto pare funziona!!
    Invece della funzione bind() ho usato live() !!

    e adesso funziona!


    AGGIORNAMENTO

    Leggendo un pò di articoli su internet ho letto che la funzione live() è vecchia e di cambiarla con la funzione on() (Query 1.7+) nel seguente modo quindi:

    codice:
    $(document).on("click", ".team a", function(){ alert("Funziona!!"); });        // jQuery 1.7+
    Spero sia di aiuto a qualcuno!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.