Создание скриптов обработчиков событий


Кавычки

Thanks.

Make Me ordinary.

Make Me Big

Тег HTML

All done.

The call passed 5 to the function.

The function returned 25.

В примере используется задание скрипт-программы внутри заголовка HEAD документа. Поскольку заголовок загружается и интерпретируется первым, тем самым гарантируется, что определение функции будет выполнено до первого к ней обращения.

Начало формы

Конец формы

Вы должны определить функции на странице в теги HTML документа. Так как HTML грузится сначала, что гарантирует функции загрузиться прежде, чем пользователь вызовет функцию.
Пример скрипта с двумя функциями:

<HTML>
<HEAD>
<SCRIPT>
<!--- hide script from old browsers
function bar() {
document.write("<HR ALIGN='left' WIDTH=25%>")
}
function output(head, level, string) {
document.write("<H" + level + ">" + head + "</H" + level + "><P>" + string)
}
// end hiding from old browsers -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
<!--- hide script from old browsers
document.write(bar(),output("Make Me Big",3,"Make me ordinary."))
// end hiding from old browsers -->
</SCRIPT>
<P>
Thanks.
</BODY>
</HTML>

Результат выполнения скрипта:

 

Начало формы

Конец формы

Используйте одиночные кавычки ('), чтобы разграничить литералы ряда так, чтобы скрипты могли отличать литералы от атрибутов, расположенные в двойных кавычках. В предыдущем примере, функция содержит литерал 'center' внутри атрибута, находящийся в двойных кавычках. Рассмотрим другой пример:

 

Приложениями JavaScript в Навигаторе мы в основном управляем событиями. События (Events)- это действия, которые происходят, обычно в результате чего - нибудь, что делает пользователь (например, щелчок кнопки мышки). Имеется определенный набор событий, которые Навигатор распознает. Вы можете определить обработчики результатов скриптов, которые автоматически выполняются, когда происходит результат.
Обработчик Результата записываются в документ как атрибут тега HTML, к которому вы приписываете код JavaScript, для выполнения. Общий вид:

 

Где TAG - это тег HTML, и eventHandler - имя обработчика результата.
Например вы создали функцию JavaScript, и назвали ее compute. Вы можете заставить Навигатор выполнять эту функцию, когда пользователь нажимает на кнопку,в которой к onClick приписан обработчик результата кнопки:

 

Вы можете помещать любые утверждения JavaScript внутри ковычек onClick. Эти утверждения будут выполнены, когда пользователь нажмет на кнопку. Если Вы хотите включить больше чем одно утверждение, отдельные утверждения записываются через точкой с запятой (;).

Вообще, это - хорошая идея определить функцию для ваших обработчиков результата потому что:

  • Это делает ваш код мобильным, так как вы можете использовать ту же самую функцию во многих различных местах.
  • Это делает ваше утверждение более легким для чтения.

В этом примере используется this.form, чтобы обратиться к текущей форме. Ключевое слово обращается к текущему объекту - в вышеупомянутом примере, объекту кнопки. Затем конструкция this.form обращается к форме, содержащей кнопку. Там же, onClick обработчик результата - запрос к функции compute(), с this.form, текущей формой, как параметр функции.

События обращаются к тегам HTML следующим образом:

  • События Focus, Blur, Change: text fields, textareas, и selections
  • События Щелчка: buttons, radio buttons, checkboxes, submit buttons, reset buttons, links
  • Событие Select: text fields, textareas
  • Событие MouseOver: links

Если события обращаются к тегам HTML, то для этого вы можете определять обработчик событий. Вообще, обработчик событий имеет имя события, прещедствующее "on". Например, обработчик результата для результата Focus - onFocus.

Много объектов также имеют методы, которые подражают событиям. Например, кнопка имеет метод щелчка, который подражает нажимаемой кнопке. Заметьте: методы подражаемые событиям не вызывают обработчика событий. Так, например, метод щелчка не вызывает обработчика результата onClick. Однако, Вы можете всегда вызывать обработчик результата (например, Вы можете вызывать onClick явно в сценарие).

Метод Происходит когда ... Обработчик Результата
Blur Пользователь удаляет строку фокус из элемента формы OnBlur
click Пользователь нажимает на элемент формы или link OnClick
change Пользователь изменяет значение text, textarea, или select элемента OnChange
Focus Пользователь передает фокус указанному элементу формы OnFocus
load Пользователь загружает страницу в Navigator OnLoad
Mouseover Происходит, когда пользователь помещает указатель мышки над гиперссылкой OnMouseOver
Select Пользователь выделяет область ввода указанного элемента формы OnSelect
Submit Пользователь подчиняет форму OnSubmit
Unload Пользователь выходит из страницы OnUnload