2010-09-22 82 views
1

有沒有一個快速的方法來使用右箭頭鍵和左箭頭鍵來加載下一頁? 我的解決方案到目前爲止是:鍵盤導航加載頁面

$(document).ready(function() { 
    $("a.transition").click(function (event) { 
     event.preventDefault(); 
     linkLocation = this.href; 
     $("body").fadeOut(20, redirectPage); 

    }); 
    $("a.transitionB").click(function (event) { 
     event.preventDefault(); 
     linkLocation = this.href; 
     $("body").fadeOut(20, redirectPage); 

    }); 
    function redirectPage() { 
     window.location = linkLocation; 
    } 
}); 

用2個看不見的鏈路層。但是我需要一些東西來控制轉換而不用點擊頁面,而是使用箭頭按鈕。

謝謝你的幫助。

回答

1

試試這個(不同的瀏覽器==不同的鍵碼):

function redirectPage(href) { 
    window.location = href; 
} 

function onKey(e) { 
    var key = e.keyCode ? e.keyCode : e.which; 

    if (key == 37 || key == 26) { 
     e.preventDefault(); 
     $("a.transition").click(); 
    } else if (key == 39 || key == 27) { 
     e.preventDefault(); 
     $("a.transitionB").click(); 
    } 
} 

$(document).ready(function() { 
    $(document).keypress(onKey); 
    $("a.transition, a.transitionB").click(function (event) { 
     event.preventDefault(); 
     $("body").fadeOut(20, function() {redirectPage(this.href)}); 
    }); 
}); 
+0

你你們真棒,比你呢 – nrunit 2010-09-22 12:22:08

1
$(document).keyup(function(e) { 
    console.log(e.keyCode); 
}); 

編輯

$(document).keyup(function(e) { 
    switch(e.keyCode) { 
    case 37 : alert('You pressed Left'); break; 
    case 38 : alert('You pressed Up'); break; 
    case 39 : alert('You pressed Right'); break; 
    case 40 : alert('You pressed Down'); break; 
    } 
}); 

你可以試試看這裏http://jsbin.com/uzigu4