|
|
Модератор форума: JonMagon |
Сообщество uCoz Вебмастеру JavaScript, Flash и прочие технологии Как отловить клавиши нажатые пользователем на страничке (CTRL и другие....) |
Как отловить клавиши нажатые пользователем на страничке |
итак.. как отловить клавиши нажатые пользователем на вашей страничке ?
можно использовать для отлова и выдачи сообщений или вобще запрета... итд... кто на что горазд называется. Конечно понятно что есть всегда методы все обойти - но все же ввиду интереса к данной теме в разных топиках этого форума - решил написать что знаю... Каждая клавиша на клавиатуре имеет свой цифровой код. (Обратите внимание - ASCI код отличается от того что используется для обработчика событий на странице, который отлавливает нажатые пользователем клавиши - это отличие касается в основном символов национальных языков - например Русского.) -------------------------------------------------------------------------------------------------------------------------------- 1) Вот таблица кодов всех клавиш + русский: коды стандартных клавиш для события KEYPRESS 2) Вот рабочая функция - пример, для отлова комбинации CTRL + XX (любой клавиши из таблицы): <body onkeypress="return catchControlKeys(event)"> <script type="text/javascript"> function test() {return false;} document.oncontextmenu; function catchControlKeys(event) { var code=event.keyCode ? event.keyCode : event.which ? event.which : null; if (event.ctrlKey) { // ЕСЛИ НАЖАТА КЛАВИША CTRL !!! может быть также event.altKey и другие - вот Список событий EVENT.) // А МОЖЕТ И НЕ БЫТЬ ВООБЩЕ - можно удалить это условие и оставить только отлов 1й клавиши: if (code == xx) // и BМЕСТЕ С CTRL НАЖАТА КЛАВИША XX (Код нужной клавиши из таблички "А" = 65, "B" = 66) { alert("Эти клавиши у меня на сайте нажимать нельзя !"); // ЧТО ХОТИТЕ ДЕЛАТЬ ПРИ ОТЛОВЕ CTRL + XX } } </script> --------------------------------------------------------------------------------------------------------------------------------- Больше к сожалению сказать на эту тему ничего не могу. С удовольствием приму критику и конструктивные дополнения к этому топику ! ![]() ![]() Сообщение отредактировал GEMMY - Воскресенье, 09 Мар 2014, 01:30:17
|
GEMMY, Не все клавиши перехватываются, не все имеют какое либо действие на страницу сайта, не все действия клавиш можно имитировать просто скриптом ...
|
|
GEMMY,
Цитата для большинства наших сайтостроителей интересны вот эти варианты |
|
GEMMY, Кроссбраузеное решение нужно .. так что открытость исходника одного обозревателя не решает вопроса ...
|
ВОТ ПОЛНЫЙ РАБОЧИЙ ПАКЕТ
![]() < body onkeypress="return catchControlKeys(event)" oncopy="return notcopy()"> <script type="text/javascript"> document.ondragstart = test; document.onselectstart = test; document.oncontextmenu = test; function test() { return false; } document.oncontextmenu; function catchControlKeys(event){ var code=event.keyCode? event.keyCode : event.which? event.which : null; if (event.ctrlKey){ // Ctrl+U if (code == 117) return false; if (code == 85) return false; // Ctrl+C if (code == 99) return false; if (code == 67) return false; // Ctrl+A if (code == 97) return false; if (code == 65) return false; // Ctrl+S if (code == 83) return false; if (code == 115) return false } } </script> Сообщение отредактировал GEMMY - Понедельник, 10 Мар 2014, 22:10:00
|
| |||
| |||