Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

События и их обработка



Событие — это происходящее внутри браузера регистрируемое действие, на которое сценарий может ответить. Событие происходит, например, когда пользователь щелкает кнопкой мыши, отображает форму или просто перемещает указатель мыши над объектом страницы. Обработчик событий — это программный код JavaScript, связанный с определенной частью документа и конкретным событием. Обработчики событий называют также программами обработки событий. Программа обработки события выполняется, когда соответствующее событие происходит в той части документа, с которой это событие связано. Например, обработчик событий, связанный с кнопкой, может открывать всплывающее окно при щелчке на кнопке, а обработчик событий, связанный с полем формы, может использоваться для проверки вводимых пользователем данных каждый раз, когда изменяется значение поля формы.

Большинство событий имеет информативные имена. Не слишком сложно догадаться, каким действиям пользователя соответствуют события click (щелчок), submit (подача запроса) или mouseover (размещение указателя мыши над объектом). Некоторые события имеют менее очевидные названия, например blur соответствует тому, что поле или другой объект теряют фокус ввода, т.е. становятся неактивными. Обработчику, соответствующему конкретному событию, назначается имя этого события с добавлением префикса "on". Например, обработчик события click называется onclick.

Набор событий не ограничивается только основными действиями пользователя, связанными с документом, наподобие click и mouseover. Так, большинство браузеров поддерживает, например, события resize и load, которые связаны с такими явлениями, как изменение размеров окна или загрузка документа из сети или с диска.

Браузеры обеспечивают детальную информацию о происходящем событии с помощью объекта Event, который становится доступным для программ обработки событий. Объект Event содержит контекстную информацию о событии, например точные координаты точки на экране, где был выполнен щелчок (событие click), и о том, была ли при этом нажата клавиша SHIFT.

События, являющиеся результатом действий пользователя, обычно имеют целевой объект — элемент (X)HTML в рамках которого происходит событие. Например, целевым объектом события click будет элемент типа <img> или <p>, на котором выполняется щелчок. Программы обработки событий, таким образом, привязываются к конкретным элементам. Когда событие, которое должно быть обработано, происходит в рамках элемента, к которому это событие привязано, выполняется программа обработки события.

Замечание. На самом деле модели событий браузера являются еще более гибкими: позже мы увидим, что обработчики событиймогут вызываться в ответ на действия, происходящие в целевых объектах, содержащихся внутри элемента, к которому данное событие привязано.

использование традиционных атрибутов (X)HTML для программ обработки событий, например, <form onsubmit="мояФункция();">;

использование сценария для установки программ обработки событий, связанных с объектом, например document.getElementById{"мояФорма"). onsubmit = мояФункция;

использование фирменных методов, например attachEvent () в Internet Explorer;

использование методов DOM2 для установки приемников событий с помощью методаaddEventListener() узла.

Каждый из указанных подходов имеет свои "за" и "против", что будет подробно обсуждаться в следующих разделах.

Точно так же существует несколько вариантов вызова событии:

неявный вызов браузером в ответ на действия, инициированные пользователем или средствами JavaScript;

явный вызов средствами JavaScript с помощью методов DOM1, например document.forms[0].submit();

явный вызов с помощью фирменных методов, например fireEvent () в Internet Explorer;

явный вызов средствами JavaScript с помощью метода DOM2 dispatch-Event ().





Дата публикования: 2015-01-25; Прочитано: 205 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...