Associare una stessa funzione get a due eventi a.click con classi differenti

Stato
Chiusa ad ulteriori risposte.

Domenico_Falco1

Nuovo Utente
27 Mag 2019
26
0
1
Buona sera :)

Vado subito al dunque, ho dei link che sono dentro ad una pagina dinamica che richiamo con una funzione get di ajax, un link è dentro ad un div ed ha class = "pulsanti" e l'altro è associato ad una immagine ed ha class = " pulsanti2". cioè così :

HTML:
<div class="pulsante1g"><a class="pulsanti" href="PRESENTAZIONE.php">Chi Siamo</a></div>

e l'altro :

Codice:
<div class ="scheda1ig"><a class="pulsanti2" href="PRESENTAZIONE.php"><img src="CHISIAMO.gif" alt="azienda" title="Titolo della foto"></a></div>

e funzionano con le rispettive funzioni evento :

Codice:
$('a.pulsanti').click(function(event) {
        
            if (history && history.pushState) {     
                //Inserisce la nuova pagina nella history del browser
                history.pushState(null, document.title, $(this).attr('href'));
                    
                    //Richiama la nuova pagina attraverso una chiamata ajax
                    $.get($(this).attr('href'), {ajax:'1'}, function(data, text, xhr) {
                        $('#container').html(xhr.responseText);
                    });
                
                event.preventDefault();   
            
         }
     });

   $('a.pulsanti2').click(function(event) {
  
            if (history && history.pushState) {     
                //Inserisce la nuova pagina nella history del browser
                history.pushState(null, document.title, $(this).attr('href'));
                    
                    //Richiama la nuova pagina attraverso una chiamata ajax
                    $.get($(this).attr('href'), {ajax:'1'}, function(data, text, xhr) {
                        $('#container').html(xhr.responseText);
                    });
                
                event.preventDefault();   
            
         }
     });

che tengo scritti nella stessa pagina chiaramente, ed hanno un markup differente, mi chiedevo se c'è un modo di scrivere la stessa funzione per entrambi e non per ognuno di essi.
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
hai provato ad aggiungere una doppia classe uguale per entrambi ?
tipo
class="pulsanti pulsante1"
class="pulsanti pulsante2"
il nome uguale lo usi x javascript,
il nome diverso per il markup

fai sapere
 

Domenico_Falco1

Nuovo Utente
27 Mag 2019
26
0
1
Buon giorno Marino, grazie della risposta e chiaramente collaudata e funziona benissimo.

Riporto il codice per una maggiore comprensione di tutti, quindi ammettiamo che abbiamo due button, si avrà :

HTML:
<div class="container-pulsantig">   

<div class="pulsante1g"><a class="pulsantig pulsar" href="INDEX.php">Home</a></div>
</div>

<div class="container-pulsanti">
<div class="pulsante1"><a class="pulsanti pulsar" href="INDEX.php">Home</a></div>
</div>

<script>

 $('a.pulsar').click(function(event) {
                
            if (history && history.pushState) {     
                //Inserisce la nuova pagina nella history del browser
                history.pushState(null, document.title, $(this).attr('href'));
                    
                    //Richiama la nuova pagina attraverso una chiamata ajax
                    $.get($(this).attr('href'), {ajax:'1'}, function(data, text, xhr) {
                        $('#container').html(xhr.responseText);
                    });
                
                event.preventDefault();   
            
         }
     });

</script>

Praticamente due classi per una gestione responsive del sito e quindi con markup diverso, ma con la stessa classe per l'attivazione dello script ajax.
Ancora grazie e saluti.

P.s. : La gentilezza apre tutte le porte.
 

WmbertSea

Moderatore
Membro dello Staff
MOD
28 Nov 2014
432
73
28
Salve, condivido pienamente il consiglio di marino51 nell'uso di una classe che accomuni gli elementi da gestire via script, soprattutto come buona pratica per avere una migliore gestibilità del codice. In alternativa si può comunque impostare opportunamente il selettore jquery in modo da selezionare elementi con diverse classi.

In tal senso è possibile usare la virgola in modo da ottenere dei gruppi di selettori, proprio come si fa con i css.

Riportandolo al tuo esempio:
Codice:
<a class="pulsantig">Home</a>
<a class="pulsanti">Home</a>

<script>
     $('a.pulsantig,a.pulsanti').click(...);
</script>
Il selettore 'a.pulsantig,a.pulsanti' quindi pesca contemporaneamente tutti gli elementi <a> con classe pulsantig e tutti gli elementi <a> con classe pulsanti.
 

Domenico_Falco1

Nuovo Utente
27 Mag 2019
26
0
1
Buona sera WmbertSea e grazie davvero, oggi ho imparato due cose che mi saranno sicuramente utili in futuro :)

Ancora grazie di cuore ed ottima serata.

Saluti
 
Stato
Chiusa ad ulteriori risposte.
Discussioni simili
Autore Titolo Forum Risposte Data
G Associare un button ad una strnga PHP 9
Lizzy [WordPress] Associare una pagina php ad un css WordPress 2
P Come associare una camera all'hotel PHP 12
A Associare una foto al risultato di una query PHP 13
P associare un bottone per ogni riga di una tabella PHP 21
M Associare un controllo AJAX Accondition ad una SQLDataSource Ajax 0
A Associare una scollbar ad una picturebox Programmazione 0
C Associare biglietti numerici ad un account numerico PHP 0
M [MySQL] Come associare stats ad ogni utente. MySQL 0
Punix [PHP] associare immagine ad un array PHP 4
V Associare un immagine verificando il campo input Javascript 2
Emix Sottodominio da associare ad un dominio Apache 2
Monital Associare dominio .com e dominio.it Domini 2
A leggere campo db phpmyadmin ed associare il valore a campo nascosto Joomla 0
S associare l'id del listato annunci alle pagine che si creano in automatico .... PHP 1
Monital Associare caselle di testo ad array PHP 21
H Associare dominio a server dedicato Domini 0
S Predefinito Come associare file pdf a un utente specifico PHP 5
G Associare valori in tabella a variabili Flash 0
WpStyle Associare collegamenti PHP 11
A associare un evento a tanti fotogrammi Flash 1
G Associare un tasto ad incolla trasponi di Excel Windows e Software 0
M Come associare un evento ad un pulsante? Programmazione 1
M Come associare un evento ad un pulsante? HTML e CSS 0
M Come associare un evento ad un pulsante? Javascript 4
P C# Salvare una colonna del DataGridView XML 0
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
M Leggere in un report il valore di una casella combinata di una maschera Database 0
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
S [VB.NET]: Coordinate immagini dentro una PictureBox Visual Basic 0
I stampare una stringa echo PHP 2
MarcoGrazia Riprendere una sessione interrotta PHP 0
L Rendere una parte trasparente Photoshop 3
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
K Visualizzare del html responsive in una Webview Sviluppo app per Android 0
otto9due Ordinare option di una select Javascript 5
N Come si crea una variabile dinamica da incrementare? Javascript 1
L Eliminazione di una pagina dalla gallery SEO e Posizionamento 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
L Riempimento di una tabella al click di un bottone Javascript 1
R Variabile non risconosciuta dentro una funzione PHP 1
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
A media degli elementi estratti da una query MySQL 0
spider81man Eliminare primo ed ultimo carattere di una colonna MySQL 0
pacemattia408 disattivazione di una function Javascript 4
G Eliminare l'effetto refresh di una pagina internet PHP 8
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
M Select Option dentro una Table jQuery 2
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1

Discussioni simili