Как реализовать комбинацию горячих клавиш CTRL или SHIFT + <буква> через javascript?

Веб-приложение ASP.NET 2.0, как реализовать комбинацию горячих клавиш CTRL + Letter, предпочтительно через JavaScript, чтобы сделать веб-приложение эргономически лучше? Как записывать события клавиатуры с несколькими клавишами с помощью JavaScript?

конечно это будет полезно

Claudio Santos 09.10.2013 03:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
8
1
13 988
4

Ответы 4

Javascript поддерживает ключи ctrl + alt + shift. Я полагаю, вы сможете понять остальное. Связь.

Ваша функция прослушивателя событий получает объект Event. Там есть много полезной информации, включая свойства altKey, ctrlKey, shiftKey и metaKey. Если при возникновении этого события удерживается нажатой какая-либо из клавиш-модификаторов, для соответствующего свойства устанавливается значение true.

Это относится как к событиям клавиатуры, так и к событиям мыши (onclick и т. д.). Обратите внимание, что если у вас есть прослушиватель событий onkeydown, сама клавиша-модификатор запускает событие.

window.onkeyup = function(e) {
  if (e.altKey) alert("Alt pressed");
  if (e.shiftKey) alert("Shift pressed");
}

Это проверено на Firefox 3, Windows XP.

Я знаю, что это не ответ на исходный вопрос, но вот мой совет: не используйте сочетания клавиш в веб-приложении!

Почему? Потому что это может нарушить удобство использования, вместо того, чтобы повысить его. Хотя общепринято, что "горячие клавиши" не используются в обычных браузерах (Opera удаляет их по умолчанию из своей последней основной версии), вы не можете понять, какие сочетания клавиш используются в различных браузерах и какие они будут. .

Более того, если ваши посетители используют настраиваемый браузер, такой как Firefox или Opera, существует высокий риск того, что они либо настроят свои собственные ярлыки, либо используют дополнительные плагины, которые определяют некоторые дополнительные.

Имейте в виду, что веб-приложения зависят от браузера, и вы НИКОГДА не должны предполагать, что, если они работают в вашем любимом-наиболее-мощном-браузере, они будут одинаково реагировать на браузер вашего друга.

Короткий ответ заключается в том, что вы используете Javascript для захвата события keydown и используете это событие для запуска функции. Соответствующие статьи:

Если вы используете библиотека jQuery, я бы посоветовал вам взглянуть на Плагин HotKeys для кроссбраузерного решения.

I know this is not answering the orginal question, but here is my advice: Don't Use Key Combination Shortcuts In A Web Application!

Why? Because it might break de the usability, instead of increasing it. While it's generally accepted that "one-key shortcut" are not used in common browsers (Opera remove it as default from its last major version), you cannot figure out what are, nor what will be, the key combination shortcuts used by various browser.

Гизмо хорошо замечает. Некоторая информация о часто используемых назначениях клавиш доступа находится в http://www.clagnut.com/blog/193/.

Если вы все же измените ключи доступа, вот несколько статей с хорошими советами о том, как это сделать правильно:

И вы можете найти эту страницу Сочетания клавиш и мыши по умолчанию в Firefox полезной (Другая версия той же информации). Сочетания клавиш для Internet Explorer 7 и Internet Explorer 6. Сочетания клавиш для Operaи Safari.

У вас больше шансов столкнуться с проблемами с Челюсти или другими программами чтения с экрана, которые добавляют дополнительные сочетания клавиш.

Другие вопросы по теме