Нормализация событий и клавиатуры

Самый старый программный код, входящий в инструментальный набор, был написан с целью сгладить несоответствия между моделями событий, реализованными в разных броузерах. Этот раздел представляет собой краткий обзор событий, которые можно считать нормализованными при использовании Dojo для разработки приложений. Основой стандартизации является модель, предложенная консорциумом W3C.

Нормализация событий от мыши и от клавиатуры
Механизм dojo.connect, который обсуждается в следующем разделе, часто имеет отношение к событиям мыши, возникающим в конкретных узлах DOM. Если вы используете Dojo, то можете быть совершенно уверены, что перечисленные далее события мыши и клавиатуры поддерживаются в соответствии с рекомендациями стандарта W3C:
onclick
onmousedown
onmouseup
onmouseover
onmouseout
onmousemove
onkeydown
onkeyup
onkeypress

Помимо событий, которые запускаются стандартным способом, можно полагаться на нормализованные объекты событий, передаваемые функциямобработчикам. На практике, при необходимости произвести нормализацию событий самостоятельно, вы можете воспользоваться следующей функцией из библиотеки Base:
dojo.fixEvent(/*DOMEvent*/ evt, /*DOMNode*/ sender) //Возвращает DOMEvent

Другими словами, функции нужно передать событие и узел, который рассматривается как текущая цель события, и вы получите нормализованное событие, которое будет соответствовать спецификации W3C.

Стандартизованные коды клавиш
Кроме всего прочего, инструментарий определяет коды клавиш, доступные в виде свойств объекта dojo.keys.


Например, чтобы определить, была ли нажата комбинация клавиш Shift+Enter, можно использовать такой фрагмент программного кода:
/* ... обрезано ... */
if (evt.keyCode == dojo.keys.ENTER && evt.shiftKey) {
/* ... */
}
/* ... обрезано ... */

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
Использование замыканий с функцией dojo.connect
Обработчики событий
Организация взаимодействий по подписке
Распространение событий