我有一个包含prev和下一个链接的页面:
<link rel="prev" href="http://camera.phor.net/cameralife/photos/11096?referer=index.php">
<link rel="next" href="http://camera.phor.net/cameralife/photos/5679?referer=index.php">
如果用户按下向左箭头或向右箭头,是否可以使用Javascript导航这些链接?如果链接正在编辑文本并且按下左箭头或右箭头,则不应激活该链接。
这将用于简化查看多个图像页面。
答案 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;
}
};