2011-09-04 9 views
5

Ho una pagina con prev e seguente link:Spostarsi rel = successivo e rel = prev pagina utilizzando freccia sinistra e destra

<link rel="prev" href="http://camera.phor.net/cameralife/photos/11096&#63;referer=index.php"> 
<link rel="next" href="http://camera.phor.net/cameralife/photos/5679&#63;referer=index.php"> 

E 'possibile utilizzare Javascript per navigare in questi collegamenti se l'utente preme Sinistra freccia o freccia destra? Il collegamento non dovrebbe attivarsi se stanno modificando il testo e viene premuta la freccia sinistra o destra.

Questo verrà utilizzato per semplificare la visualizzazione di diverse pagine di immagini.

risposta

4

Senza jQuery: http://jsfiddle.net/UXPLt/1/.

document.onkeyup = function(e) { // key pressed 
    if(document.activeElement.nodeName === "INPUT" 
    || document.activeElement.nodeName === "TEXTAREA") { 
     return; // abort if focusing input box 
    } 

    var elems = document.getElementsByTagName("link"), 
     links = {}; 

    for(var i = 0; i < elems.length; i++) { // filter link elements 
     var elem = elems[i]; 
     if(elem.rel === "prev") { // add prev to links object 
      links.prev = elem; 
     } else if(elem.rel === "next") { // ad next to links object 
      links.next = elem; 
     } 
    } 

    if(e.keyCode === 37) { // left key 
     location.href = links.prev.href; 
    } else if(e.keyCode === 39) { // right key 
     location.href = links.next.href; 
    } 
}; 
+0

fantastico! grazie –

4
$(document).keydown(function(e){ 
     if (e.keyCode == 37) { // left 
      $("a[rel='prev']").click(); 
      return false; 
     } else if (e.keyCode == 39) { // right 
      $("a[rel='next']").click(); 
      return false; 
     } 
    }); 
+0

Non è un elemento ''. – pimvdb

+0

in modo da sostituire la riga di clic con qualcosa del genere: location.href = $ ("a [rel = 'prev']") .prop ("href"); –

+0

Ma perché 'a'? Presumo che sia 'link' dalla domanda. – pimvdb

Problemi correlati