Как захватить нажатия клавиш в Интернете?

Используя PHP, JS или HTML (или что-то подобное), как я могу захватить ключевые слова? Например, если пользователь нажимает ctrl + f или, возможно, даже просто f, произойдет определенная функция.

++++++++++++++++++++++++++++++++ EDIT ++++++++++++ Хорошо, так это правильно, потому что я не могу заставить его работать. И я прошу прощения за мой n00bness, это простой вопрос, новый для jQuery и все еще более узнаваемый о JS.

<script> var element = document.getElementById('capture'); element.onkeypress = function(e) { var ev = e || event; if(ev.keyCode == 70) { alert("hello"); } } </script> <div id="capture"> Hello, Testing 123 </div> 

++++++++++++++++ EDIT ++++++++++++++++++

Вот и все, но я не могу заставить его работать:

 <link rel="icon" href="favicon.ico" type="image/x-icon"> <style> * { margin: 0px } div { height: 250px; width: 630px; overflow: hidden; vertical-align: top; position: relative; background-color: #999; } iframe { position: absolute; left: -50px; top: -130px; } </style> <script> document.getElementsByTagName('body')[0].onkeyup = function(e) { var ev = e || event; if(ev.keyCode == 70 && ev.ctrlKey) { //control+f alert("hello"); } } </script> <div id="capture"> Hello, Testing 123<!--<iframe src="http://www.pandora.com/" scrolling="no" width="1000" height="515"frameborder="0"></iframe>--> </div> 

+++ +++ EDIT

Спасибо Джейкобу, я подумал, что это исправлено, но когда я попробовал его в FF и IE (в настоящее время используется хром, который работал), это не сработало. Этот скрипт будет только для личной страницы, которую я только увижу, так что это не самая большая сделка, но для будущей ссылки я просто хотел бы знать, почему это не работает ни в IE, ни в FF.

Related of "Как захватить нажатия клавиш в Интернете?"

Конечно, единственный способ сделать это будет через JavaScript, и вы сделаете так вот так:

 window.onload = function() { document.getElementsByTagName('body')[0].onkeyup = function(e) { var ev = e || event; if(ev.keyCode == 70) {//&& ev.ctrlKey) { //do something... } } }; 

Чтобы узнать конкретный код ключа, который вы хотите, см. Эту статью: http://www.webonweboff.com/tips/js/event_key_codes.aspx

Пример jsFiddle

Вы ищете события javascript, связанные с нажатиями клавиш. Здесь есть некоторая раздражающая несовместимость браузера, поэтому вам лучше использовать библиотеку JS, такую ​​как jQuery, где вы можете использовать метод jQuery keypress (), но вы можете получить нужные данные из события javascript onkeypress.

Использование jQuery:

Вы можете сделать это, используя jQuery Keydown

Хорошая статья о захвате различных ключевых событий:

Работа с событиями в jQuery

РЕДАКТИРОВАТЬ:

JavaScript

Вот хорошие статьи, чтобы сделать это в javascript с хорошим DEMO:

  • Обработка ярлыков клавиш в JavaScript
  • Обнаружение нажатий клавиш

Вам лучше захватить все ключи в окне, а не захватывать нажатия клавиш на конкретном элементе, например, на другие ответы.

поэтому используя собственный javascript:

 window.onload = function (){ eventHandler = function (e){ if (e.keyCode == 70 && e.ctrlKey) { //do stuff //console.log(e); } } window.addEventListener('keydown', eventHandler, false); } 

используя JQuery:

 $(document).ready(function(){ $(window).keydown(function (e) { if (e.keyCode == 70 && e.ctrlKey) { //do stuff } }); });