powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Переопределение функциональных клавиш - как сделать?
5 сообщений из 5, страница 1 из 1
Переопределение функциональных клавиш - как сделать?
    #34056671
Glotten
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброе время суток!

JavaScript - не мой "родной" язык, столкнулся с ним впервые, хотелось бы получить помощь от тех, кто его знает.
Проблема такая - по ходу работы возникла необходимость переопределения на HTML-странице функциональных клавиш, с F1 по F12 (так, чтобы выполнялись только мои действия, а не браузера). Определяю ф-цию (message - для примера):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<script language="JavaScript">
  function xOnKeyPress (e) {
    window.alert('Key code='+window.event.keyCode);
    window.routeEvent(e);
    return false;
  }  
</script>
Все бы хорошо, для любых клавиш выдается сообщения, но вот для F1 - F12 - нет, и браузер ведет себя по-своему.

Браузер - IE 6.

Подскажите, плиз, как сделать это правильно???
...
Рейтинг: 0 / 0
Переопределение функциональных клавиш - как сделать?
    #34056713
Фотография fleh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onkeydown, а не onkeypress
...
Рейтинг: 0 / 0
Переопределение функциональных клавиш - как сделать?
    #34057428
Glotten
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flehonkeydown, а не onkeypress

Спасибо - теперь код выполняется.
Но появилась другая проблема - напр., при нажатии F1 - появляется окно справки, по F11 - изменяется размер браузера... Попробовал отключить командой
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<script language="JavaScript">

window.captureEvents(Event.KEYPRESS);
window.onkeydown= xOnKeyPres;

  function xOnKeyPress (e) {
    window.alert('Key code='+window.event.keyCode);
    window.routeEvent(e);
    return false;
  }  
</script>

но, как выяснилось, M$ IE это (window.captureEvents(Event.KEYPRESS); ) не поддерживает... Вероятно, надо еще что-то добавить?
...
Рейтинг: 0 / 0
Переопределение функциональных клавиш - как сделать?
    #34057771
json
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glottenно, как выяснилось, M$ IE это (window.captureEvents(Event.KEYPRESS); ) не поддерживает... Вероятно, надо еще что-то добавить?
window.event.cancelBubble = true;

PS Если бы ты научился писать MS вместо M$, и читать (или хотя бы почитывать) документацию, то давным-давно уже был бы молодцом-программистом.
...
Рейтинг: 0 / 0
Переопределение функциональных клавиш - как сделать?
    #34058125
Glotten
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
window.event.cancelBubble = true;
Пробовал и это, еще до того, как вопрос задавать... Выдает ошибку "Error: 'window.event' is null or not an object" ... Для определения поддержки добавил
Код: plaintext
1.
2.
3.
4.
5.
6.
if (window.captureEvents){
  window.captureEvents(Event.KEYPRESS);
  window.onkeydown=xOnKeyPress;
  }else{
    document.onkeydown=xOnKeyPress;
  }
но эти добился только того, что не выдает предупреждения... Наверное, функциональные клавиши в IE нельзя ни переопределить, ни отключить?
jsonPS Если бы ты научился писать MS вместо M$, и читать (или хотя бы почитывать) документацию, то давным-давно уже был бы молодцом-программистом.
Я, кажется, упоминал, что с JavaScript'ом столкнулся впервые и по рабочей необходимости, иначе бы таких вопросов и не задавал... И тот код, который здесь приводил - не сам придумал, а именно из доки. Вот и хочу узнать, почему везде указано, что надо делать именно так, но эти примеры не работают.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Переопределение функциональных клавиш - как сделать?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]