|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
[jQuery] Impostare elemento attivo
Ciao a tutti!
Ho una struttura html come questa nella mia pagina: Codice HTML:
<body> <div id="Pers1">testo vario</div> <div id="Pers2">testo vario</div> <div id="Pers3">testo vario</div> <div id="Pers4">testo vario</div> <div id="Pers5">testo vario</div> </body> Lo script funziona, ma ritengo che si possa migliorare, tuttavia non so come eseguire l'implementazione. La mia implementazione attuale sfrutta tutto un sistema di id personalizzati e indici che trovo macchinosa e non ottimale. In buona sostanza utilizzo l'evento jQuery keydown sul body: Codice:
$('body').keydown(function(e){//Istruzioni});
Questo perchè, una volta fatto così, posso scrivere una funzione che al keydown, utilizza solo .prev() e .next() per trovare l'elemento precedente/successivo al quale andare. Ho provato a cambiare il focus ma senza successo. Ho tentato un: Codice:
document.activeElement = $('div#Pers1');
Codice:
$('div#Pers1').focus();
Soluzioni?
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
non so se è quello che devi fare ma la prima cosa che mi è venuta in mente è:
js: Codice:
$(document).keypress(function(e){
// vai avanti
if(e.which == 107) {
var a1 = $(".active");
var s1 = $(".active").next();
a1.removeClass("active");
s1.addClass("active");
}
// torna indietro
else if (e.which == 106) {
var a2 = $(".active");
var s2 = $(".active").prev();
a2.removeClass("active");
s2.addClass("active");
}
});
Codice:
.active {
color:#E01B5D;
}
Codice:
<div class="pippo active" id="Pers1">testo vario</div> <div class="pippo" id="Pers2">testo vario</div> <div class="pippo" id="Pers3">testo vario</div> <div class="pippo" id="Pers4">testo vario</div> <div class="pippo" id="Pers5">testo vario</div> non premere subito J perchè si blocca |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Perfetto grazie!
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:50.



















