Наконец то пора взглянуть на одно из новых свойств Netscape Navigator 4.x: модель события JavaScript 1.2. Примеры, показанные здесь будут работать только в Netscape Navigator 4.x (большинство примеров будет работать также в preview-версиях).
Следующие события поддерживаются в JavaScript 1.2 (обратитесь к документации Netscape's JS 1.2, если Вы хотите больше узнать об этих событиях):
Abort | Focus | MouseOut | Submit |
Blur | KeyDown | MouseOver | Unload |
Click | KeyPress | MouseUp | |
Change | KeyUp | Move | |
DblClick | Load | Reset | |
DragDrop | MouseDown | Resize | |
Error | MouseMove | Select |
Вы можете видеть, что некоторые новые события были добавлены. Мы обратимся к некоторым из этих событий в течение этого урока.
Сначала давайте посмотрим на то, для чего предназначено событие Resize. С помощью этого события мы можем отследить, когда пользователь изменяет размеры окна. Следующий сценарий показывает это:
С помощью этой строки
window.onresize= message;мы определяем обработчик события. Это означает, что функция message() была вызвана, как только изменилось окно. Вы не знакомы со способами определения обработчиков события. Но это не новое в JavaScript 1.2. Например, если у Вас есть объект-кнопка, Вы можете определить обработчик события следующим образом:
<form name="myForm"> <input type="button" name="myButton" onClick="alert('Click event occured!')"> </form>Или же записать это по другому:
<form name="myForm"> <input type="button" name="myButton"> </form> ... <script language="JavaScript> document.myForm.myButton.onclick= message; function message() { alert('Click event occured!'); } </script>Вы можете подумать, что второй вариант немного усложнен. Тогда почему мы используем его в первом сценарии? Проблема состоит в том, что window-объект не определяется через определённый тег, так что мы должны использовать второй вариант.
Два важных замечания: во-первых Вы не должны писать window.onResize - то есть Вы должны использовать строчные буквы. Во-вторых Вы не должны ставить никаких скобок после message. Если Вы пишете window.onresize= message() броузер интерпретирует message() (), как обращение к функции. Но в этом случае мы не хотим вызывать функцию непосредственно - мы только хотим определить обработчик события.