Иллюстрированный самоучитель по Adobe GoLive 6

Объектная модель

Как видно, практически все методы объекта document предназначены для динамического формирования его содержимого. Немного позже мы увидим, как это делается, а пока перейдем к рассмотрению списка событий, которые могут возникнуть при работе с данным объектом.

  • Событие onftf terupdate возникает, когда пользователь при работе с формой, размещенной на Web-странице, отослал свои данные на сервер, и тот успешно принял и обработал их.
  • Событие onBeforeUpdate инициируется в том случае, если пользователь ввел данные в форму, но вместо их отправки попытался выгрузить страницу из браузера.
  • Событие onclick происходит в момент, когда пользователь производит на документе одиночный щелчок мышью.
  • Событие onDbiciick возникает в момент двойного щелчка мышью на одном из элементов загруженной Web-страницы.
  • Событие onDragstart инициируется в тот момент, когда пользователь начинает перетаскивать при помощи мыши какой-либо элемент загруженной Web-страницы.
  • Событие onError инициируется при наличии ошибки в сценарии или в случае возникновения ошибки.,при передаче каких-либо данных, например, графических изображений.
  • Событие onHeip возникает в тот момент, когда пользователь нажимает клавишу F1.
  • Событие onKeyDown возникает, когда пользователь нажимает какую-либо клавишу. Какая именно клавиша была нажата, мы можем узнать при помощи объекта event.
  • Событие onKeyPress постоянно генерируется в то время, когда пользователь нажал какую-либо клавишу и еше не отпустил ее.
  • Событие оnкеуир возникает, когда пользователь отпускает ранее нажатую клавишу.
  • Событие onLoact инициируется в тот момент, когда загрузка HTML-документа в браузер полностью заканчивается.
  • Событие onMouseoown возникает в тот момент, когда пользователь нажимает какую-либо кнопку мыши.
  • Событие onMouseMove постоянно генерируется при перемещении пользователем мыши.
  • Событие onMbuseOut возникает, когда пользователь уводит курсор мыши с данного объекта.
  • Событие onMouseOver возникает при попадании курсора мыши на объект.
  • Событие onMouseup инициируется в тот момент, когда пользователь отпускает заранее нажатую кнопку мыши.
  • Событие onReadystateChange инициируется каждый раз, когда по каким-либо причинам изменяется значение свойства readystate.
  • Событие onseiectstart инициируется в тот момент, когда пользователь начинает выделять мышью некую часть Web-страницы.

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

Мы уже видели, что объекта document существует свойство body, которое содержит все тело Web-страницы. Но страницы с фреймовой структурой вообще не содержат тег <body>. И здесь мы можем работать с коллекцией фреймов, которая носит наименование frames. Мы уже говорили, что коллекции, по сути, являются массивами, состоящими из объектов. Так, если нам надо получить доступ к какому-либо фрейму, мы можем сделать это либо при Помощи его порядкового номера, либо при помощи его наименования. Так, например, если самый верхний фрейм нашей Web-страницы носит наименование "topframe", то обратиться к нему мы можем при помощи двух эквивалентных конструкций:

window.frames(0)
window.frames("topframe")

Как мы помним, нумерация в массивах, а, следовательно, и в коллекциях, начинается с нуля. Но для циклической обработки коллекции нам необходимо будет знать не только стартовый номер, но и общее количество элементов, входящих в состав данной,коллекции. Поэтому следует знать, что для каждой коллекции существует служебное свойство length, которое содержит количество элементов в коллекции. Следует помнить, что количество элементов и порядковый номер последнего элемента – разные вещи, так как нумерация открывается нулем.

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

Каждый элемент коллекции frames функционально эквивалентен объекту window, поэтому обладает всеми его свойствами, методами, событиями и встроенными объектами, исключая объекты, обеспечивающие доступ к внутренним механизмам браузера, такие как history и navigator. Следовательно, каждый элемент коллекции frames имеет встроенный объект document со всем его содержимым.

Объект document, как мы знаем, полностью описывает Web-страницу, отображаемую в окне просмотра браузера или фрейма. Следовательно, в состав этого объекта должны входить другие объекты и коллекции, которые смогут предоставить нам доступ к любому HTML-блоку, к любому тегу. Рассмотрим список этих объектов и коллекций с кратким описанием каждого из них.

  • Коллекция links содержит все гиперссылки и области, сформированные тегами <агеа> на данной Web-странице.
  • Коллекция forms обеспечивает доступ ко всем формам данного HTML-документа. Соответственно, каждый элемент этой коллекции содержит в качестве своих составных частей объекты, позволяющие обращаться к различным органам ввода данных, из которых и состоит форма.
  • Коллекция anchors содержит все закладки на странице, доступ к которым осуществляется при помощи гиперссылок.
  • Коллекция linages предназначена для хранения объектов графических изображений, внедренных в состав содержимого Web-страницы.
  • Коллекция scripts обеспечивает доступ ко всем программам-сценариям, которые были вставлены в код HTML-документа при помощи тега <script>.
  • Коллекция applets содержит все внедренные объекты, такие как апплеты, элементы ActiveX, графические изображения, видеоклипы и любые объекты, обрабатываемые и отображаемые при помощи расширений браузера.
  • Коллекция piugins содержит объекты, связанные со всеми внедренными элементами, обрабатываемыми расширениями браузера.
  • Коллекция stylesheets предоставляет нам доступ ко всем стилевым таблицам, внедренным в данный HTML-документ.
  • Коллекция filters содержит все графические фильтры, Примененные к содержимому данной Web-страницы. Графические фильтры не указанны из HTML, они являются исключительной прерогативой DHTML.
  • Коллекция all содержит ссылки на все теги и объекты, внедренные в состав содержимого данной Web-страницы.
  • Объект selection позволяет работать с выделенной частью содержимого Web-страницы – Обычно это выделение производит пользователь.
  • Объект textRange представляет собой блок текста, при помощи которого обычно разработчик динамически формирует текстовое содержимое HTML-документа.

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

А сейчас пора перейти к рассмотрению; событийной модели DHTML и ознакомиться с примерами применения программ-скриптов.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.