- •4.2.1. Повторные и опущенные объявления
- •Типы данных
- •3.1.3. Литералы вещественных чисел
- •3.1.6. Специальные числовые значения
- •3.2.2. Управляющие последовательности в строковых литералах
- •3.3. Логические значения
- •3.4.1. Функциональные литералы
- •3.6. Массивы
- •7.6.1. Добавление новых элементов в массив
- •7.7.9. Методы toString() и toLocaleString()
- •7.7.10. Дополнительные методы массивов
- •11.1.2. Классы символов
- •11.1.3. Повторение
- •11.1.4. Альтернативы, группировка и ссылки
- •11.1.6. Флаги
- •1 Здесь функция alert() используется просто для отображения информации: она
- •13.2.2. Сценарии во внешних файлах
- •13.3. Обработчики событий в html
- •13.5.5. Объект Window как контекст исполнения
- •15.2. Свойства объекта Document
- •1 Модель dom может также использоваться для представления xmLдокументов,
- •15.4.2. Узлы
- •15.4.2.1. Типы узлов
- •1 Стандарт dom определяет интерфейсы, а не классы. Те, кто не знаком с термином
- •15.4.2.2. Атрибуты
- •15.5. Обход документа
- •1 Во многих сложных dhtmLэффектах используются также приемы обработки
- •16.1. Обзор css
- •1 Эрик Мейер «css – каскадные таблицы стилей. Подробное руководство», 3е из
- •16.1.1. Применение правил стиля к элементам документа
- •16.2.1. Ключ к dhtml: абсолютное позиционирование
- •16.2.3. Определение положения и размеров элемента
- •16.3.2. Работа со свойствами стилей
- •300 Пикселов:
- •17.1.1.1. Аппаратнозависимые и аппаратнонезависимые события
- •17.1.2. Обработчики событий как атрибуты
- •1 Подробное описание htmLформ, включая пример проверки правильности за
- •17.2.6.3. Интерфейс MouseEvent
- •17.5. События клавиатуры
- •17.5.1. Типы событий клавиатуры
- •17.5. События клавиатуры 441
17.1.1.1. Аппаратнозависимые и аппаратнонезависимые события
При внимательном изучении табл. 17.1 можно заметить, что все события делят
ся на две большие категории. Первая категория – это события ввода (raw events,
или input events). Эти события генерируются, когда пользователь перемещает
мышь, щелкает на кнопке мыши или нажимает клавишу. Эти низкоуровневые
события просто описывают действия пользователя и не имеют другого смысла.
Вторая категория событий – это семантические события (semantic events). Это
высокоуровневые события, они имеют более сложный смысл и обычно происхо
дят только в определенном контексте: когда броузер завершает загрузку доку
мента или, например, когда должна выполниться передача данных формы. Се
мантическое событие часто происходит как побочный эффект низкоуровневого
события. Например, когда пользователь щелкает на кнопке Submit, вызываются
три обработчика событий ввода: onmousedown, onmouseup и onclick. И в результате
щелчка на кнопке мыши HTMLформа, содержащая кнопку Submit, генерирует
семантическое событие onsubmit.
Обработчик Условия вызова Поддержка
onerror Ошибка при загрузке изображения <img>
onfocus Элемент получил фокус ввода <button>, <input>, <label>,
<select>, <textarea>, <body>
onkeydown Клавиша нажата. Для отмены возвращает
false
Элементы формы и <body>
onkeypress Клавиша нажата и отпущена. Для отмены
возвращает false
Элементы формы и <body>
onkeyup Клавиша отпущена Элементы формы и <body>
onload Загрузка документа завершена <body>, <frameset>, <img>
onmousedown Нажата кнопка мыши Большинство элементов
onmousemove Перемещение указателя мыши Большинство элементов
onmouseout Указатель мыши выходит за границы эле
мента
Большинство элементов
onmouseover Указатель мыши находится на элементе Большинство элементов
onmouseup Отпущена кнопка мыши Большинство элементов
onreset Запрос на очистку полей формы. Для пре
дотвращения очистки возвращает false
<form>
onresize Изменение размеров окна <body>, <frameset>
onselect Выбор текста <input>, <textarea>
onsubmit Запрос на передачу данных формы. Чтобы
предотвратить передачу, возвращает false
<form>
onunload Документ или набор фреймов выгружен <body>, <frameset>17.1. Базовая обработка событий 407
Другое существенное отличие делит события на аппаратнозависимые, связан
ные с мышью или клавиатурой, и аппаратнонезависимые события, которые мо
гут возбуждаться несколькими способами. Это различие особенно важно в плане
доступности (см. раздел 13.7), поскольку одни пользователи в состоянии задей
ствовать мышь, но не могут работать с клавиатурой, другие, наоборот, могут
применять клавиатуру и не могут мышь. Семантические события, такие как on
submit и onchange, практически всегда являются аппаратнонезависимыми: все
современные броузеры позволяют выполнять переход между полями HTML
форм как с помощью мыши, так и с помощью клавиатуры. События, которые
имеют в своих названиях слово «key» или «mouse», совершенно очевидно явля
ются аппаратнозависимыми. Если вы собираетесь использовать эти события,
возможно, следует реализовать обработчики для парных событий, чтобы обеспе
чить механизм обработки событий как мыши, так и клавиатуры. Примечатель
но, что событие onclick можно рассматривать как аппаратнонезависимое. Оно
не зависит от мыши, потому что активизация с помощью клавиатуры элементов
формы и гиперссылок тоже приводит к возбуждению этого события.