*Из топика "36 советов для стартапов: от программирования до пиара"
Совет 7: Не изобретайте заново велосипед
Многие стартапы тонут из-за излишней инфраструктуры. Здесь имеются в виду две вещи: создание своих собственных библиотек или построение собственной масштабируемой системы мирового класса. По первому вопросу: в интернете огромное множество великолепных билиотек с исходными кодами, так что нет смысла создавать свои собственные. Используете вы JavaScript, PHP, .NET, Python или Ruby, скорее всего, уже существуют подходящие вам библиотеки. Повторное написание библиотек — это пустая трата времени, тем более что вряд ли вы напишете их лучше.
Для jQuery есть плагин для работы с горячими клавишами http://code.google.com/p/js-hotkeys/
на мой взгляд автор не говорил что "пишите только с нуля", а предложил один из вариантов решения задачи.
чтобы что то использовать нужно понимать как это устроено. отличная статья. в помощь новичкам
Ну, если так смотреть на вещи, то разработчики jQuery все же изобрели и продолжают изобретать велосипед))) так же как и другие подобные проекты.
И еще: разве в коде не должно быть ни одной строчки не использующей какой-либо сторонней библиотеки?
Лично я приведенный выше способ вижу вполне удобным, т.к. вместе с описанием элемента к нему можно сразу прикрутить горячую кнопку.
Если сделать это при инициализации веб-приложения - то элементы, которые будут созданы (либо подгружены AJAXом) в run-time, останутся без обработчика.
Но вообще - благодаря Вашему вопросу я заметил у своего решения недостаток: созданные/подгруженные поля не будут блокировать «горячие клавиши», если об этом не позаботиться специально.
если вы всё-таки остановитесь на моем предложении и у подгруженных элементов не будет своих id, то могу посоветовать сразу использовать следующее:
$('input, textarea').unbind('keydown', MyHandler); // дабы избежать повторного
//вызова функции
$('input, textarea').keydown('keydown', MyHandler);
Немного практики: «горячие клавиши» средствами jQuery