Как получить клавиши со стрелками на клавиатуре, чтобы вызвать ссылки навигации (предыдущей/следующей страницы) в блоге
script Я собрал вместе до сих пор:
<script type="text/javascript">
/* KEYNAV */
document.onkeydown = function(e) {
if (! e) var e = window.event;
var code = e.charCode ? e.charCode : e.keyCode;
if (! e.shiftKey && ! e.ctrlKey && ! e.altKey && ! e.metaKey) {
if (code == Event.KEY_LEFT) {
if ($('previous_page_link')) location.href = $('previous_page_link').href;
} else if (code == Event.KEY_RIGHT) {
if ($('next_page_link')) location.href = $('next_page_link').href;}
}
});
</script>
и мой html выглядит так:
<p>
{block:PreviousPage}
<a id="previous_page_link" href="{PreviousPage}">PREVIOUS PAGE</a>
{/block:PreviousPage}
{block:NextPage}
<a id="next_page_link" href="{NextPage}">NEXT PAGE</a>
{/block:NextPage}
</p>
Код {PreviousPage}/{NextPage} представляет собой динамические ссылки на страницы, которые различаются в зависимости от того, на какой странице вы находитесь. этот конкретный вопрос специфичен для tumblr, но в целом также:
Есть ли способ получить мои клавиши со стрелками влево и вправо, чтобы вызвать эти динамические ссылки?
спасибо за чтение, и любая помощь с этим очень ценится.
Ответы
Ответ 1
function leftArrowPressed() {
// Your stuff here
}
function rightArrowPressed() {
// Your stuff here
}
document.onkeydown = function(evt) {
evt = evt || window.event;
switch (evt.keyCode) {
case 37:
leftArrowPressed();
break;
case 39:
rightArrowPressed();
break;
}
};
Ответ 2
Используйте это, чтобы сообщить атрибут keyIdentifier
объекта
.
<html>
<head>
<script type="text/javascript">
document.onkeydown = function() {
alert (event.keyIdentifier);
};
</script>
</head>
<body>
</body>
</html>
Затем вы можете использовать логику if-then, чтобы игнорировать все нажатия клавиш, которые вам не интересны, и подключить правильное поведение к тем, которые вы есть.
Далее будут назначены клавиши со стрелками влево и вправо для ссылок (на основе идентификатора элементов привязки/ссылки).
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
document.onkeydown = function()
{
var j = event.keyIdentifier
if (j == "Right")
window.location = nextUrl
else if (j == "Left")
window.location = prevUrl
}
});
$(document).ready(function() {
var nextPage = $("#next_page_link")
var prevPage = $("#previous_page_link")
nextUrl = nextPage.attr("href")
prevUrl = prevPage.attr("href")
});
</script>
</head>
<body>
<p>
<a id="previous_page_link" href="#" onclick="location.href='http://www.google.com'; return false;">Google</a>
<a id="next_page_link" href="#" onclick="location.href='http://www.yahoo.com'; return false;">Yahoo</a>
</p>
</body>
</html>