2010-09-22 6 views
1

Y a-t-il un moyen rapide d'utiliser les flèches droite et gauche pour charger la page suivante? Ma solution à ce jour est:Navigation au clavier pour charger les pages

$(document).ready(function() { 
    $("a.transition").click(function (event) { 
     event.preventDefault(); 
     linkLocation = this.href; 
     $("body").fadeOut(20, redirectPage); 

    }); 
    $("a.transitionB").click(function (event) { 
     event.preventDefault(); 
     linkLocation = this.href; 
     $("body").fadeOut(20, redirectPage); 

    }); 
    function redirectPage() { 
     window.location = linkLocation; 
    } 
}); 

avec 2 couches de lien invisible. Mais j'ai besoin de quelque chose pour contrôler la transition sans cliquer dans la page, mais utiliser les flèches.

Nous vous remercions de votre aide.

Répondre

1

Essayez ceci (autre navigateur == différents keycodes):

function redirectPage(href) { 
    window.location = href; 
} 

function onKey(e) { 
    var key = e.keyCode ? e.keyCode : e.which; 

    if (key == 37 || key == 26) { 
     e.preventDefault(); 
     $("a.transition").click(); 
    } else if (key == 39 || key == 27) { 
     e.preventDefault(); 
     $("a.transitionB").click(); 
    } 
} 

$(document).ready(function() { 
    $(document).keypress(onKey); 
    $("a.transition, a.transitionB").click(function (event) { 
     event.preventDefault(); 
     $("body").fadeOut(20, function() {redirectPage(this.href)}); 
    }); 
}); 
vous
+0

les gars sont géniaux, que k vous – nrunit

1
$(document).keyup(function(e) { 
    console.log(e.keyCode); 
}); 

Modifier:

$(document).keyup(function(e) { 
    switch(e.keyCode) { 
    case 37 : alert('You pressed Left'); break; 
    case 38 : alert('You pressed Up'); break; 
    case 39 : alert('You pressed Right'); break; 
    case 40 : alert('You pressed Down'); break; 
    } 
}); 

Vous pouvez faire un essai ici http://jsbin.com/uzigu4

Questions connexes