2010-10-08 2 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

+0

Что такое keyCode = 37/39? Где я могу найти все коды клавиш? – James

+1

http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx - это то, что вы ищете –

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> 
Смежные вопросы