questo è il mio problema:
Ho catturato una variabile da una lista ul-li
Ho una lista con molti nomi: Roma, Milano, Venezia … Catturo il valore id di questi (pulsante1 per Roma, pulsante2 per Milano, pulsante3 per Venezia, …) con un evento mouseover (cerca questo variabili di domanda e jquery: come valore di cattura (parte 1) se vuoi saperne di più).
Quindi, ora ho una variabile globale chiamata $ regionMap e il suo contenuto cambia ogni volta che l’elenco ul-li ha un evento mouseover. Quindi, ora potrei usare il valore $ regionMap invece dei diversi valori id ( pulsante1, pulsante2, pulsante3 … ) in altri script jquery.
Ad esempio ho questo ciclo:
$('#pulsante1').mousedown(function() // when click over pulsante1 (id value for "Roma") { var $variab=document.getElementById('pulsante1').innerHTML; // take the name (here Roma) var $alfa="#"+ $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog rolling on #Roma value. }); // here is similar at the first but instead #pulsante1(Roma) you have #pulsante2 (Milano) $('#pulsante2').mousedown(function() { var $variab=document.getElementById('pulsante2').innerHTML; var $alfa="#"+ $variab; alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog }); });//close click
Ora, vorrei usare $ regionMap invece pulsante1, pulsante2 … ma per me è imansible! Provo così $($regionMap).mousedown(function()
e in altro modo ( $($regionMap)., ($regionMap)., $('$regionMap').
….),
ma non ho mai avuto risultati! Come posso fare? Sai come passare una variabile?
Penso che probabilmente c’è un modo migliore per ottenere risultati simili (ad esempio con un ciclo * per in *) ma non so come farlo …
Scusate per il mio lungo post e mi dispiace per l’inglese basico, ma non sono uno sviluppatore e sono andato in un grande TILT!
Grazie
Dopo aver esaminato la tua altra domanda, prova questo.
$('#country_list').mousedown( function( e ) { // e.target is the element you clicked var $variab = e.target.innerHTML; var $alfa= '#' + $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); });
Il #country_list
elemento #country_list
ascolterà qualsiasi evento falso. Quando si verifica ciò, è ansible trovare l’elemento che ha generato l’evento con e.target
.
potresti provare qualcosa come …
$( $regionMap ).each( function (i,el) { $( el ).mousedown(function() // when click over pulsante1 (id value for "Roma") { var $variab=el.innerHTML; // take the name var $alfa="#"+ $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog rolling on #Roma value. }); });
Questo passerà in rassegna ciascuno degli id in regionMap e applicherà la funzione di callback a ciascuno di essi.
JQuery ogni funzione applica la funzione di callback a ciascun elemento della raccolta. la raccolta in questo caso è la tua lista di id. [ ‘# Pulsante1’, ‘# pulsante2’]
Usa questo codice per associare tutti gli eventi:
$($regionMap).children('li').mousedown(function() { alert("You entered: " + this.id); dialog(this.id); });
Ciò vincolerà l’evento a ciascun indirizzo all’interno della mappa e gestirà l’evento separatamente.