Перейдите к rel = next и rel = prev page используя стрелки влево и вправо - PullRequest
5 голосов
/ 04 сентября 2011

У меня есть страница с предыдущими и следующими ссылками:

<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"> 

Можно ли использовать Javascript для навигации по этим ссылкам, если пользователь нажимает стрелку влево или стрелку вправо?Ссылка не должна активироваться, если они редактируют текст и нажата стрелка влево или вправо.

Это будет использоваться для упрощения просмотра нескольких страниц изображений.

Ответы [ 2 ]

4 голосов
/ 05 сентября 2011

без 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;
    }
};
4 голосов
/ 05 сентября 2011
$(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;
        }
    });
...