Книга: JavaScript. Подробное руководство, 6-е издание
13.2.4. Обработчики событий в HTML
13.2.4. Обработчики событий в HTML
JavaScript-код, расположенный в теге <script>,
исполняется один раз, когда содержащий его HTML-файл считывается в веб-броузер. Для обеспечения интерактивности программы на языке JavaScript должны определять обработчики событий - JavaScript-функции, которые регистрируются в веб-броузере и автоматически вызываются веб-броузером в ответ на определенные события (такие как ввод данных пользователем). Как было показано в начале этой главы, JavaScript-код может регистрировать обработчики событий, присваивая функции свойствам объектов Element
(таким как onclick
или onmouseover
), представляющих HTML-элементы в документе. (Существует и другой способ регистрации обработчиков событий - подробности приводятся в главе 17.)
Свойства обработчиков событий, такие как onclick
, отражают HTML-атрибуты с теми же именами, что позволяет определять обработчики событий, помещая JavaScript-код в HTML-атрибуты. Например, чтобы определить обработчик события, который вызывается, когда пользователь щелкает на флажке в форме, код обработчика указывается в качестве значения атрибута onchange
HTML-элемента, определяющего флажок:
<input type="checkbox" name="options" value="giftwrap"
onchange="order.options.giftwrap = this.checked;">
Обратите внимание на атрибут onchange
. JavaScript-код, являющийся значением этого атрибута, будет выполняться всякий раз, когда пользователь будет щелкать на флажке.
Атрибуты обработчиков событий, включенных в разметку HTML, могут содержать одну или несколько JavaScript-инструкций, отделяемых друг от друга точками с запятой. Эти инструкции будут преобразованы интерпретатором в тело функции, которая в свою очередь станет значением соответствующего свойства обработчика события. (Подробное описание, как выполняется преобразование текстового содержимого HTML-атрибутов в функции на языке JavaScript, приводится в разделе 17.2.2.) Однако обычно в HTML-атрибуты обработчиков событий включаются простые инструкции присваивания, как в примере выше, или простые вызовы функций, объявленных где-то в другом месте. Это позволяет держать большую часть JavaScript-кода внутри сценариев и ограничивает степень взаимопроникновения JavaScript- и HTML-кода. На практике многие веб-разработчики считают плохим стилем использование HTML-атрибутов обработчиков событий и предпочитают отделять содержимое от поведения.
- 13.2. Встраивание JavaScript-кода в разметку HTML
- 15.9. HTML-формы
- 17.3.3. Область видимости обработчика событий
- Раздел VII Левиафан в Сети: защита права на тайну частной жизни после событий 2013 г.
- Расширение механизма событий
- Применение PHP-технологий в программе HtmlPad
- Исключения и обработчики исключений
- Модульный HTML
- 2.1. Информация о версии HTML
- 17.3.6. Распространение событий
- 19.2.4. Чтение и запись значений элементов HTML-форм
- HTML5 для веб-дизайнеров