Непрофессиональное введение в Javascript

         

Новые события



Новые события

Наконец то пора взглянуть на одно из новых свойств 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. С помощью этого события мы можем отследить, когда пользователь изменяет размеры окна. Следующий сценарий показывает это:

<html> <head> <script language="JavaScript"> window.onresize= message; function message() { alert("The window has been resized!"); } </script> </head> <body> Please resize the window. </body> </html>

С помощью этой строки

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() (), как обращение к функции. Но в этом случае мы не хотим вызывать функцию непосредственно - мы только хотим определить обработчик события.



Содержание раздела