русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Эволюция событий


Дата добавления: 2013-12-23; просмотров: 768; Нарушение авторских прав


Как работают события

Что такое событие?

События возникают, когда на web-странице происходит какое-то взаимодействие. Это может быть щелчок конечного пользователя на чем-то, перемещение курсора мыши над определенным элементом, или нажатие определенных клавиш на клавиатуре. Событие может быть также чем-то, что происходит в web-браузере, таким как завершение загрузки web-страницы, или прокрутка или изменение размера страницы пользователем.

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

Когда на web-странице в элементе HTML происходят события, страница проверяет, не присоединены ли к нему какие-либо обработчики событий. Если ответ положительный, она вызывает их в соответственном порядке, посылая при этом ссылки и дополнительную информацию для каждого происходящего события. Затем на событие действуют обработчики событий.

Существует два типа управления событиями: перехват события и всплытие события.

Перехват события начинается с самого внешнего элемента в DOM и двигается внутрь до элемента HTML, на котором произошло событие и затем снова наружу. Например, при щелчке на web-странице сначала проверяется элемент HTML на наличие обработчиков событий onclick, затем элемент body, и т.д., пока не будет достигнута цель события.

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

При появлении JavaScript обработчики событий использовались непосредственно внутри элемента HTML, следующим образом:

<a href="http://www.opera.com/" onclick="alert('Hello')">Say hello</a>

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



Следующий шаг в эволюции событий состоял в использовании событий изнутри блока JavaScript, например:

<script type="text/javascript"> document.getElementById("my-link").onclick = waveToAudience; function waveToAudience() { alert("Waving like I've never waved before!"); }</script> <a id="my-link" href="http://www.opera.com/">My link</a>

Обратите внимание на чистый код HTML в последнем примере. Это обычно называется ненавязчивым JavaScript. Преимущество такого подхода, кроме кэширования JavaScript и управления кодом, состоит в разделении кода: весь контент находится в одном месте, а код взаимодействия в другом. Это позволяет также создать более доступный подход, когда ссылка будет работать вполне прекрасно при отключенном JavaScript. Кроме того это также очень удобно для процессоров поиска.



<== предыдущая лекция | следующая лекция ==>
Введение | События и доступность


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.