перехват нажатие 3х кнопок
подскажите как сделать перехват кнопок, что бы я перехватил все нажатые кнопки, тоесть, если человек нажмет 3 или 4 кнопки на клаве их все перехватит,как такое сделать?
у меня получается вот что,но так я только отслеживаю одну кнопку function checkKeycode(e) { var key; if (window.event) { key = window.event.keyCode; } else if (e) { key = e.which; } alert(key); } window.onkeydown = function (event) {checkKeycode(event)} думал через цикл, как то завернуть, что бы закидывало в массив, а потом по циклу считывало, но провалилась эта затея, направте на истинный путь,есть какие то решения?? P.S. : решение нужно без джейквери |
Ну для спец. клавиш есть e.altKey, e.ctrlKey, e.shiftKey, e.metaKey.
А так просто вручную делать триггер на нужную клавишу, т.е. при кейдаун - ставить переменно true при keyup - false. <!DOCTYPE HTML> <html lang="ru-RU"> <body><input> <script> var keys={}; function show() { var str=''; for(var i in keys)if(keys[i]) str += (String.fromCharCode(i)||i)+' + '; document.body.firstChild.value = str.slice(0,-3); } function key(e) { var key; if (window.event) { key = window.event.keyCode; } else if (e) { key = e.which; } keys[key]= e.type === 'keydown' ? true : false; show() } window.onkeydown = window.onkeyup = key; </script> </body> </html> |
спасибо
|
ребят такая вот проблема, при рахной раскладке, и разных включенных прогах у меня каждый раз выдает разные коды на одну и туже кнопку, как можно сделать грамотно? что бы всегда выдавало мне нужную кнопку?
|
|
спасиба, статья то что нужно)
|
А вот вопрос такой. Допустим мы нажали клавишу "стрелка вверх", потом нажали "стрелка вниз". Потом одну из них отпустили. как узнать какая осталась нажатой
|
В моём примере всё работает.
|
Цитата:
Нажали на стрелка вверх, не отпуская на стрелка вниз, получили & + ( Отпустили стрелку вверх - получили ( Логично. Не отпуская кнопку нажимаем стрелка вверх - почему-то имеем & + (, а не (+& |
Цитата:
1. Старые нажатия кнопок не удаляются, а обнуляются.(лень было что-ьто лишнеее придумывать, лоя примера и для большинства применений - сойдёт). 2. Для хранения используется объект, который в принципе не гарантирует порядок содержимого. А вообще: Цитата:
Если нужно точно соблюдать порядок - придумайте свой вариант хранения нажатых кнопок: массив, строка или ещё что-нить. |
Часовой пояс GMT +3, время: 01:53. |