Обработка событий
Но иногда нам необходимо получить более детальную информацию о текущей ситуации. При этом стандартных событий может быть мало. И здесь разработчик может воспользоваться объектом event. Его структуру мы уже обсуждали в предыдущем разделе этой главы. Теперь мы можем на пример наглядно увидеть механизм использования этого элемента. Мы уже говорили, что подавляющее большинство свойств этого объекта носят сугубо информативный характер, и потому доступны в режиме "только для чтения". Возможный способ работы с ними показан в листинге 7.2.
Листинг 7.2
<!DOCTYPE
HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"
>
<
html
>
<
head
>
<
title
>
Обработка событий
<
/
title
>
<
script
language
=
"javascript"
>
//<!--
function
info() {
s
=
"'Координаты курсора мыши "
+
window.event.screenX
+
","
+
window.event.screenY;
alert(s);
}
window.document.ondblclick
=
info;
//-->
<
/
script
>
<
/
head
>
<
body
>
<
p
>
<
font
size
=
5
>
Обычная Web
-
страница
<
/
font
>
<
/
p
>
<
/
body
>
<
/
html
>
Разберем структуру приведенного скрипта. В самом начале программы мы объявляем функцию с наименованием info. После кода этой функции мы вставили строку следующего вида:
window.document.ondblclick
=
info;
При помощи этой конструкции мы указываем, что функция info будет выполняться в том случае, если пользователь произведет двойной щелчок мышью в окне просмотра браузера. Так как мы не можем использовать для этих целей какой-либо тег содержимого Web-страницы, нам приходится использовать событие Объекта document.
Рис. 7.2. Окно браузера с результатом отображения файла, приведенного в листинге 7.2
Теперь рассмотрим механизм действия функции info. Функция состоит из двух операторов. Первый из них присваивает переменной некую строку, формируя ее из заданного текста и двух значений объекта event, которые указывают координату курсора мыши в момент совершения пользователем двойного щелчка (рис. 7.2). Второй оператор при помощи ключевого слова alert отображает модальное окно с текстом, который является значением переменной из первого оператора.
Мы увидели в действии основные механизмы обработки событий в DHTML. Теперь мы можем создавать свои программы-скрипты, ориентированные на работу с событиями, возникающими при работе пользователя с нашими HTML-документами. Однако мы знаем, какие события соответствуют тому или иному объекту, но мы указали смысл далеко не для всех возможных событий. Пришло время это сделать. В табл. 7.3 перечислены все события, используемые в технологии DHTML, и ситуации, в которых они инициируются.