Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Пример 17.8. Класс Key тар для обработки нажатий комбинаций клавиш

/*

* Keymap.js: связывает события клавиатуры с функциями-обработчиками.

*

* Этот модуль определяет класс Keymap. Экземпляр этого класса представляет

* собой отображение идентификаторов
комбинаций клавиш (определяемых ниже)

* в функции-обработчики. Объект Keymap можно установить в HTML-элемент

* для обработки событий keydown. Когда возникает это событие, объект Keymap

* использует свою карту привязок для вызова соответствующего обработчика.

*

* При создании объекта Keymap конструктору можно передать JavaScript-объект,

* представляющий начальную карту привязок. Имена свойств этого объекта должны

* соответствовать идентификаторам клавиш, а значениями должны быть функции-обработчики.

* После создания объекта Keymap в него можно добавлять новые привязки, передавая

* идентификатор клавиши и функцию-обработчик методу bind. Имеется также возможность

* удалить привязку, передав идентификатор клавиши методу unbind.

*

* Чтобы задействовать объект Keymap, следует вызвать его метод install, передав ему

* HTML-элемент, такой как объект document. Метод install добавит в указанный объект

* обработчик события onkeydown. Когда этот обработчик будет вызван, он определит

* идентификатор нажатой клавиши и вызовет функцию-обработчик (если таковая имеется),

* привязанную к этому идентификатору клавиши. Один и тот же объект Keymap

* можно установить сразу в несколько HTML-элементов.

*

* Идентификаторы клавиш

*

* Идентификатор клавиши - это нечувствительная к регистру символов строка,

* представляющая клавишу, плюс любое количество удерживаемых нажатыми

* клавиш-модификаторов. Именем клавиши является основной текст, изображаемый

*
на клавише. Допустимыми именами клавиш являются: "А", "7", "F2", "PageUp",

* "Left", "Backspace" и "Esc".

*

* Список имен находится в объекте Keymap.keyCodeToKeyName, внутри этого модуля.

* Они являются подмножеством имен, определяемых стандартом "DOM Level 3".

* Кроме того, этот класс будет использовать свойство key, когда оно будет реализовано.

*

* Идентификатор клавиши может также включать имена клавиш-модификаторов.

* Это имена Alt, Ctrl, Meta и Shift. Они нечувствительны к регистру символов и должны

* отделяться от имени клавиши и друг от друга пробелами или подчеркиваниями, дефисами

* или знаками +. Например: "SHIFT+A”, "Alt_F2", "meta-v" и "Ctrl alt left".

* В компьютерах Mac клавише Meta соответствует клавиша Command, а клавише Alt -

* клавиша Option. Некоторые броузеры отображают клавишу Windows в клавишу Meta.

*

* Функции-обработчики

*

* Обработчики вызываются как методы объекта document или элемента документа,

* в зависимости от того, куда был установлен объект Keymap, и им передаются

* два аргумента:

* 1) объект события keydown

* 2) идентификатор нажатой клавиши

* Значение, возвращаемое функцией, становится возвращаемым значением

* обработчика события keydown. Если функция-обработчик вернет false,

* объект Keymap прервет всплытие события и предотвратит выполнение любых

* действий по умолчанию, связанных с событием keydown.

*

* Ограничения

*

* Функцию-обработчик можно привязать не ко всем клавишам. Некоторые комбинации

Поделиться:
Популярные книги

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
4.80
рейтинг книги
Метатель

Доктор. Заново

Афанасьев Семён
1. Доктор
Фантастика:
фэнтези
альтернативная история
5.86
рейтинг книги
Доктор. Заново

Имперец. Том 4

Романов Михаил Яковлевич
3. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 4

Смерч войны

Робертс Эндрю
1. Историческая библиотека
Проза:
военная проза
5.00
рейтинг книги
Смерч войны

Справочник по лечению зависимостей

коллектив авторов 1
Справочная литература:
путеводители
5.00
рейтинг книги
Справочник по лечению зависимостей

Потомок бога 3

Решетов Евгений Валерьевич
3. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Потомок бога 3

Универсальный энциклопедический справочник

Исаева Елена Львовна
Справочная литература:
справочники
энциклопедии
5.00
рейтинг книги
Универсальный энциклопедический справочник

Неизвестные страницы истории российского флота

Виленов Влад
Научно-образовательная:
история
военное дело: прочее
военная история
5.00
рейтинг книги
Неизвестные страницы истории российского флота

Избрание сочинения в трех томах. Том второй

Кочетов Всеволод Анисимович
Проза:
советская классическая проза
5.00
рейтинг книги
Избрание сочинения в трех томах. Том второй

Полная история государства Российского в одном томе

Карамзин Николай Михайлович
Научно-образовательная:
история
5.00
рейтинг книги
Полная история государства Российского в одном томе

Место под солнцем

Марклунд Лиза
Анника Бенгтзон
Детективы:
криминальные детективы
6.00
рейтинг книги
Место под солнцем

Очерки времен и событий из истории российских евреев. 1945 – 1970 гг. Книга 6

Кандель Феликс Соломонович
Научно-образовательная:
история
5.00
рейтинг книги
Очерки времен и событий из истории российских евреев. 1945 – 1970 гг. Книга 6

Гвардия. (Дилогия)

Мусаниф Сергей Сергеевич
65. В одном томе
Фантастика:
научная фантастика
8.57
рейтинг книги
Гвардия. (Дилогия)

Глаза ночи

Бейн Диана
Любовные романы:
любовно-фантастические романы
эро литература
5.88
рейтинг книги
Глаза ночи