Клиентские сценарии. Модель событий. События окна
Объект Window поддерживает множество событий. К сожалению, многие из них являются не стандартными, а фирменными. Безопасными для использования с точки зрения совместимости браузеров являются onblur, onerror, onfocus, onload, onunloadn onresize. Они описаны в таблице.
Событие | Описание |
onblur | Происходит при потере окном фокуса ввода |
onerror | Рудиментарное событие реакции на ошибку JavaScript |
onfocus | Происходит при получении окном фокуса ввода |
onload | Происходит при завершении загрузки документа в окно. Предупреждение: не всегда четко определено во времени |
onresize | Происходит при изменении размеров окна пользователем |
onunload | Происходит при выгрузке документа, например, в результате перехода по внешней ссылке или при закрытии окна |
Обработчики событий объекта Window могут устанавливаться с помощью атрибутов событий HTML элемента , например, так:
<body onload="alert('вход в окно');" onunload="alert('выход из окна')">
или с помощью регистрации событий для объекта Window:
function sayHi() { alert('привет!'); }
function sayBye() { alert ('пока!') ; }
window.onload = sayHi;
window.onunload = sayBye;
Internet Explorer и Netscape добавили в объект Window множество своих событий. Наиболее полезные из них представлены в таблице.
Событие | Описание |
onafterprint | Возникает после завершения печати содержимого окна |
onbeforeprint | Происходит непосредственно перед началом печати или предварительного просмотра содержимого окна |
onbeforeunload | Происходит непосредственно перед выгрузкой окна. Должно возникать перед событием onunload |
ondragdrop | Возникает, когда документ помещается в окно путем перетаскивания (только Netscape) |
onhelp | Возникает при нажатии клавиши вызова справки (обычно это F1) |
onresizeend | Возникает, когда заканчивается процесс изменения размеров окна (например, когда пользователь заканчивает перетаскивание углового маркера окна) |
onresizestart | Возникает, когда начинается процесс изменения размеров окна (например, когда пользователь начинает перетаскивание углового маркера окна) |
onscroll | Возникает, когда окно прокручивается в любом направлении |
Клиентские сценарии. Модель событий. Таймеры
|
|
Для того чтобы уяснить внутренние аспекты работы таймеров, стоит учесть одну важную деталь, которую стоит осветить: задержка при выполнении таймера не гарантируется. Так как весь javascript исполняется в браузере в один поток, то асинхронные события (например, клики мышкой или таймеры) запускаются только по возникновению «окна» в этом основном потоке (обработчики событий и вызываемые функции, фактически, «встраиваются» в основной поток выполнения).
У javascript-движка операции выполняются в один поток, что заставляет асинхронные события ждать своей очереди на исполнение.
|
|
settimeout и setinterval имеют фундаментальные различия в исполнении асинхронного кода.
Если таймер не может выполниться в запланированное время, то он будет отложен до следующей возможной точки запуска (которая может быть достаточно далека от первоначального ожидаемого момента).
В случае выставления интервалов, функции могут запускаться друг за другом, безо всякой задержки, если их выполнение (или другие асинхронные события) «растянут» их на достаточное время (равное или большее, чем обозначенная задержка).
Два метода объекта window – setTimeout и setInterval – используются для управлением таймером. Метод setTimeout создает таймер, который выполняет указанные действия по истечении заданного числа миллисекунд. Например: function showtimeOut() { document.write(“Время вышло…”) } function timerDemo() //вызвать showtimeOut() через 5 секунд { window.setTimeout(“showtimeOut()”, 5000) } timerDemo() или { window.setInterval(“showtimeOut()”, 5000) }
Язык JavaScript. Обзор, объектная модель
Объектная модель определяет интерфейс доступа к различным частям браузера и документа, с которыми может работать JavaScript. В JavaScript используется множество объектных моделей, зависящих от типа браузера и его версии, но в общем можно выделить две главные объектные модели: ВОМ (Browser Object Model — объектная модель браузера) и DOM (Document Object Model — объектная модель документа). Модель ВОМ обеспечивает доступ к различным частям браузера, таким как окно браузера, характеристики экрана, журнал браузера и т.д. Модель DOM обеспечивает доступ к содержимому окна браузера, а именно, к документу, включающему различные элементы (X)HTML, свойства CSS и какие-то текстовые элементы.
|
|
Обзор объектной модели
Объектная модель — это интерфейс, описывающий логическую структуру объекта и стандартные способы работы с ним.
Базовые элементы языка JavaScript (например, типы данных, операции и операторы).
Основные объекты, связанные с типами данных (например, Date, String или Math).
Объекты браузера (например, Window, Navigator или Location).
Объекты документа (например, Document, Form или Image).
Изучая историю JavaScript, можно найти некоторый порядок в хаосе конкурирующих объектных моделей. В JavaScript использовались следующие четыре объектные модели.
Традиционная объектная модель JavaScript (Netscape 2 и Internet Explorer 3).
Расширенная объектная модель JavaScript (Netscape 3) — основа модели DOM нулевого уровня.
Объектные модели в стиле динамического HTML:
1) Internet Explorer 4.x и более поздние версии;
2) Netscape 4.x (только эти версии).
Расширенная объектная модель браузера + стандартная модель DOM (современные браузеры).
Дата добавления: 2018-02-28; просмотров: 392; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!