События

В объектно-ориентированных языках программирования используется понятие события. События — это такие стандартные ситуации, которые возникают при наступлении определенных условий. Сообщение о событии передается объекту, в котором наступило событие. И если в данном объекте описана функция, которая будет обрабатывать событие, то происходит обращение к этой функции. В предыдущем примере мы использовали сообщение о событии onclick, это событие наступает при осуществлении щелчка мышкой.

Событие onclick обрабатывается в объекте параграфа с идентификатором clicking. Если мы щелкнем мышкой за пределами этого параграфа, то переход к новому объекту не будет осуществлен.

Для изучения свойств событий добавим в наш пример средство обработки события onclick в объект <body> (файл в главе "полезные объекты").

<body id="main" bgcolor="white" onclick="alert('Событие onclick обработано в объекте <body>') ">


На этой страничке в качестве ссылки используется рисунок.

Щелкните на этот шарик, вы перейдете на новую страницу anchor.htm:

Начало параграфа

Щелкните этот параграф для перехода к следующему объекту.
Если щелкнуть за пределами этого параграфа, то переход к следующему объекту не произойдет.
Конец параграфа


Сейчас если мы щелкнем мышкой в любой части документа (кроме нашего выделенного параграфа), то получим сообщение о том, что событие обработано в объекте <body>.

Если же мы щелкнем мышкой на нашем выделенном параграфе, то вначале произойдет переход к следующему объекту нашей страницы, затем событие «всплывет» по иерархии объектов и будет обработано более старшим в этой иерархии событием <body>, о чем нам будет сообщено в окне-предупреждении. Если же мы щелкнем на шарик-ссылку, то вначале нам будет сообщено о том, в каком объекте мы находимся (событие onclick обработано в объекте clicking), затем нам сообщат, что событие это обработано в объекте <body> (объекте main), и затем уже произойдет переход по ссылке.

Передача события от одного объекта, находящегося в иерархии объектов на более низкой, более подчиненной ступени, другим объектам в иерархии, что положение выше, чем положение данного объекта по цепи подчинении называется всплытием события. Процесс всплытия событий напоминает всплытие пузырей в пепси-коле, английское названия всплытия событий bubbling наверное основано на этой аналогии.

Отменим всплытие событий, для этого в средство обработки событий, описанное в ярлыке <body...> вставим рядом с функцией f() метод window.event.cancleBubble, которому присвоим значение true (уничтожим всплытие)

<P="clicking" onclick="{f (); window.event.cancelBubble=true}" align="center">

Сейчас после обращения к функции обработки события, состоящей из блока f() и window, event. cancelBubble=true, вначале будет выполнена функция f(), а затем всплытие события будет уничтожено. Если сейчас мы щелкнем мышкой над выделенным параграфом, то получим сообщение о том, в каком объекте мы находимся, — дальнейшей обработки события не произойдет. Однако, если щелчок будет осуществлен на шарике-ссылке, то после сообщения о текущем объекте переход по ссылке будет выполнен.

Смотреть.

В приведенных выше примерах мы рассмотрели одно событие — событие onclick. Сейчас мы перечислим те события, которые понятны для всех объектов документа. Помимо этих общепонятных событий для отдельных объектов могут существовать понятные только им события. Чтобы подробнее узнать о событиях объектов необходимо воспользоваться справочником.

Общеизвестные события, понятные во всех объектах HTML-страницы

Событие Описание
onmouseover курсор мыши находится внутри области объекта
onmouseout КУРСОР МЫШИ ПОКИДАЕТ область объекта
onmouseup пользователь отпускает кнопку мыши над областью объекта
onmousemove мышь перемещается в пределах области объекта
onclick щелчок левой кнопкой мыши над областью объекта
ondblclick двойной щелчок над областью объекта
onkeypress нажимается и отпускается клавиша на клавиатуре (при удержании генерируется много таких событий)
onkeydown нажата клавиша клавиатуры (при удержании генерируется единственное такое событие)
onkeyup отпускается клавиша на клавиатуре
другие события понятны не во всех объектах

Свойства

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

Методы

Методы — это функции. Обращаясь к тому или иному методу, мы вызываем соответствующую этому методу функцию.


<<пред. страница

Оглавление

след. страница >>


Hosted by uCoz