2009-08-20 9 views
0

Dans Jquery, comment définir un événement tel que lorsque l'utilisateur parcourt certaines images et appuie sur la touche fléchée gauche/droite, il appelle une fonction qui peut être utilisée pour afficher les photos précédentes/suivantes? J'ai juste besoin de savoir comment vérifier si la touche enfoncée était la touche de droite/gauche et ignorer toutes les autres touches.Navigation au clavier avec Jquery

L'image sera dans son propre div \

Répondre

3

Je l'ai utilisé dans le passé. Il travaille pour moi dans les enviornments que j'ai utilisé (Linux et Windows avec FF)

$(document).keypress(function(e) { 
    if (e.keyCode === 37) { 
    // left 
    } 
    else if (e.keyCode === 39) { 
    // right 
    } 
}); 

Cela étant dit, je ne suis pas sûr de se connecter sur les touches fléchées est une bonne idée car un utilisateur peut changer le texte taille et provoquer l'affichage de la barre de défilement. Arrowing changerait l'image de façon inattendue.

1

Utilisez l'événement keypress jQuery comme ceci:.

$("input").keypress(function (e) { 
    if (e.which == 32 || (65 <= e.which && e.which <= 65 + 25) 
        || (97 <= e.which && e.which <= 97 + 25)) { 
    var c = String.fromCharCode(e.which); 
    $("p").append($("<span/>")) 
      .children(":last") 
      .append(document.createTextNode(c)); 
    } else if (e.which == 8) { 
    // backspace in IE only be on keydown 
    $("p").children(":last").remove(); 
    } 
    $("div").text(e.which); 
}); 

Je ne sais pas quelle valeur sera présent pour la gauche/droite mais un peu expérimenter avec ce script devrait vous aider

Questions connexes