2010-10-08 231 views
3

當按下某個鍵盤按鈕時,如何調用鏈接的click事件?鍵盤事件

我想叫下一頁/上一頁按Ctrl +/按Ctrl +

回答

5
$(document).keydown(function(e) { 
    if(e.ctrlKey){ 
    if(e.keyCode == 37){ 
     //ctrl + leftbutton pressed 
     $("a.prevButton").trigger("click"); 
    }else if(e.keyCode == 39){ 
     //ctrl + rightbutton pressed 
     $("a.nextButton").trigger("click"); 
    } 
    } 
}); 

fiddle it live

+0

這+'$( '#以前')觸發器( '點擊');'(如果以前的鏈接了'ID = 「先前的」'。當然) – Shikiryu 2010-10-08 08:07:26

+0

什麼是keyCode = 37/39?我在哪裏可以找到所有關鍵代碼? – James 2010-10-08 12:53:18

+1

http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx是你想要的 – 2010-10-08 13:03:43

0

我不知道如何做到這一點瓦特/ jQuery的,[但我相信這會很簡單]。

在純javascript方面,您可以使用document.getElementById獲取鏈接的參考。然後使用.href檢索其href屬性。最後,改變文件的位置,在href位置 - >document.location = href

如果你不想重定向,然後設置窗體的action屬性和根本form.submit()

1

你可以嘗試

$(document).bind("keydown", function(e) { 
    if (e.ctrlKey) { 
    if(e.keyCode == 37) { 
     document.getElementById("prevButton").click(); 
    } 
    else if(e.keyCode == 39) { 
     document.getElementById("nextButton").click(); 
    } 
    } 
}); 

代碼37用於左箭頭&代碼39用於右箭頭

1

您可能想要使用名爲jquery.hotkeys的庫,在此處找到:http://github.com/tzuryby/jquery.hotkeys。如果不使用庫本身,源代碼可以讓你知道需要做什麼。

[免責聲明:我通過搜索找到了這個庫,並沒有使用它,也沒有測試它自己。使用您自己的自由裁量權]

1

只是使用這個插件使用jQuery,你可以設置組合鍵快捷方式:http://plugins.jquery.com/project/hotkeys

你可以設置快捷鍵這樣的:

<script type="text/javascript"> 
     $(document).ready(function(){ 
      shortcut("Ctrl+Right",function() { 
      document.getElementById("your next button ID").click(); 
     }); 
     shortcut("Ctrl+Left",function() { 
     document.getElementById("your prev button ID").click(); 
     }); 
    }); 
</script>