2010-02-14 14 views
10

skrypt i już poskładane tak daleko wygląda następująco:jak dostać się klawiszy strzałek na klawiaturze, aby wywołać nawigacji (poprzednia/następna strona) łączy w blogu

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

i mój html wygląda to:

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

Kod {PreviousPage}/{NextPage} oznacza dynamiczne linki do strony, które różnią się w zależności od strony, na której się znajdujesz. to szczególne pytanie dotyczy tylko tumblr, ale ogólnie:

Czy istnieje sposób na uzyskanie lewej i prawej strzałki, aby wywołać te dynamiczne linki?

dziękuję za przeczytanie i wszelka pomoc z tym jest bardzo doceniana.

Odpowiedz

36
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; 
    } 
}; 
+0

miłą pracę tim bardzo dziękuję! – dfogge

+0

Co to jest 'evt = evt || window.event; 'about? –

+0

@MadsSkjern: To jest dla starszych wersji Internet Explorera (do 8 włącznie), w których obiekt zdarzenia nie jest dostarczany jako parametr do funkcji obsługi zdarzenia i jest dostępny jako 'window.event'. –

3

Służy do informowania o atrybucie keyIdentifier obiektu .

<html> 
<head> 

<script type="text/javascript"> 
    document.onkeydown = function() { 
    alert (event.keyIdentifier); 
}; 
</script> 
</head> 
<body> 
</body> 
</html> 

Następnie można użyć if-then logiki, aby ignorować wszystkie naciśnięcia klawiszy nie są zainteresowani i drut poprawne zachowanie się tych, jesteś.

Następujące elementy przypisze lewy i prawy strzałek do twoich linków (na podstawie identyfikatora elementów kotwicy/łącza).

<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="http://www.google.com">Google</a> 
    <a id="next_page_link" href="http://www.yahoo.com">Yahoo</a> 
</p> 
</body> 
</html> 
+2

'keyIdentifier' nie jest obsługiwana przez większość przeglądarek (w tym bieżącej wersji Firefox), więc nie nadaje się do ogólnego użytku w internecie jeszcze. –

+0

Dzięki za informację Tim. Testowałem go tylko w Chrome. – ecounysis

+0

dziękuję bardzo za pomoc eric wysiłek został doceniony – dfogge

Powiązane problemy