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
2.989
173
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

Utente Attivo
28 Nov 2014
201
32
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
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
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
L salvare una immagine elaborata in canvas Javascript 1
L salvare una immagine elaborata in canvas Javascript 1
W visualizzare solo file html e sottocartelle di una cartella PHP 1
W Elenco dei link del file presenti in una cartella PHP 2
R Mettere in sicurezza una comunicazione .NET Framework 0
L Creare una forma geometrica Photoshop 1
G Casella combinata in una query MS Access 4
voldemort Cos'è una SCRL? Che tipo di società è?? Leggi, Normative e Fisco 1
F Funzione Glob - ricerca file contenente una parola PHP 1
felino [EXCEL] Conteggio ore all'interno di una settimana Windows e Software 7
Y cambiare sfondo di una pagina Javascript 1
Y Vorrei selezionare un colore di sfondo per una pagina web Javascript 0
S Apertura in una nuova pagina PHP 6
S impostare un testo e una img nella stessa riga con jsPDF Javascript 0
F Prendere contenuti da una tabella PHP 4
B Stampare una porzione della pagina PHP 0
D assegnare risultato di una jquery ad una text Javascript 2
Cosina Cancellare una specifica email da un elenco in un file txt PHP 3
A Dare l'accesso ad una pagina solo ad un utente specifico PHP 0
G Inserire una scritta Java 1
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6
Cosina Mostrare immagini da una cartella, ma solo un numero definito PHP 12
Alex_70 Cerca testo all'interno di una stringa PHP 5
F Andare a capo all'interno di una tabella WordPress 4
elpirata Update dinamico informazioni scritte in una pagina php jQuery 11

Discussioni simili