#jquery #hyperlink #keyboard #hotkeys
#jquery #гиперссылка #клавиатура #горячие клавиши
Вопрос:
Извините, если я где-то это пропустил, но я искал и искал это и не могу найти код, чтобы заставить это работать. Я ожидаю, что это очень просто, но, не будучи знакомым с javascript, я не смог его реализовать.
Я работаю над использованием плагина горячих клавиш jquery https://github.com/jeresig/jquery.hotkeys назначить отдельные буквенные клавиши (например, i, g и т.д.) ссылкам, чтобы по сайту можно было перемещаться с помощью клавиатуры или мыши. Я не хочу делать ничего особенного, просто попросите ключ загрузить страницу в браузере, так же, как если бы вы нажали на любую обычную ссылку.
Все, что я смог сделать, это получить предупреждение для отображения с помощью этого кода:
$(document).bind('keydown', 'i', function() {
alert('You found the hotkey!');
});
Но все, что я пытался получить ссылку для загрузки при нажатии i, не сработало. Кто-нибудь может посоветовать мне, какой код использовать? Спасибо.
Ответ №1:
Есть простое решение :
$(document).keydown(e)
{
if( e.keyCode == 13 )//enter for example
{
window.location.href ='http://...';
}
}
Комментарии:
1. Спасибо. Мне удалось использовать следующий код (чтобы я мог оставаться в плагине горячих клавиш jquery): $(document).bind(‘keydown’, ‘i’, function() { window . Расположение. href =’http://…’; });
Ответ №2:
Чтобы привязать a keydown()
к телу:
$(window).keydown(
function(k){
if (k.which == 49){
alert("You pressed '1'!");
}
});
Вы могли бы ограничить это не входными элементами, используя следующий подход:
$(window).keydown(
function(k){
var notTheseOnes = ['textarea','input'];
var target = k.target.tagName.toLowerCase();
if (k.which == 49 amp;amp; $.inArray(target,notTheseOnes) < 0){
alert("You pressed the '1'!");
}
});
Комментарии:
1. У меня не работает.
$(window)
однако делает: jsfiddle.net/WDNvn (привязка к документу тоже работает)2. Хнх … интересно! Я тестировал свои демоверсии в Chromium (Ubuntu 11.04), но не в Firefox: действительно, Firefox требует, чтобы селектор был
$(window)
или$(document)
. … отредактирован; и спасибо ..!