使用向左和向右箭头导航到rel = next和rel = prev页面

时间:2011-09-04 19:59:18

标签: javascript html onkeyup

我有一个包含prev和下一个链接的页面:

<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 个答案:

答案 0 :(得分: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;
        }
    });

答案 1 :(得分:4)

没有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;
    }
};