В объектно-ориентированных языках программирования используется понятие события. События — это такие стандартные ситуации, которые возникают при наступлении определенных условий. Сообщение о событии передается объекту, в котором наступило событие. И если в данном объекте описана функция, которая будет обрабатывать событие, то происходит обращение к этой функции. В предыдущем примере мы использовали сообщение о событии 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-страниц.
Методы
Методы — это функции. Обращаясь к тому или иному методу, мы вызываем соответствующую этому методу функцию.
![]() |