Система событий языка JavaScript(ч.1)Использование языка JavaScript при обработке событий значительно
расширило возможности языка HTML. Чаще всего программы создаются для
обработки информации, вводимой пользователем в поля форм. Возможности
управления элементами форм обеспечиваются главным образом за счет функций
обработки событий, которые могут быть заданы для всех элементов формы.
События делятся на несколько категорий:
События, связанные с документами,
возникают при загрузке и выгрузке документа, в то время как события
гиперсвязей возникают при их активизации или при помещении на них указателя
мыши.
Потеря фокуса - атрибут onBlurАтрибут обработчика события onBlur работает со следующими тегами HTML:
С помощью атрибута onBlur задается
выражение языка JavaScript, которое выполняется, когда соответствующий
элемент HTML-формы теряет фокус ввода. Потеря ффокуса ввода происходит
либо при щелчке мыши на другом элементе формы или другой формы, либо
при переходе к другому элементу формы посредством клавиши [Tab]. Атрибут
onBlur применяют для проверки данных, введенных в соответствующее поле. <!-- function checkA(a) { if (a == "") a=0; if (16>a) { alert ("Вам нужно еще подрости до 16 лет \nа в возрасте "+a+" лет пожалуйте в детский сад"); document.forms[0].a.value = ""; // очищаем содержимое формы document.forms[0].a.focus(); // устанавливаем фокус на первое поле } } //--> </script> <form> <table border=0> <tr><td>Ваш возраст</td> <td><input name="a" size=5 onBlur="checkA(this.value)"> </td></tr> <tr><td>Имя</td> <td><input name="name" size=25> </td></tr> </table> </form> Если в первое поле ввода было введено значение меньше 16, выдается сообщение, затем очищается поле ввода и устанавливается на него фокус, тоесть программа не выпустит вас из поля до тех пор, пока не будет введено значение 16 или более. Атрибут onChange - изменение содержимого поля и выбранных элементов списка.Атрибут обработчика события onChange можно использовать в следующих HTML-тегах:
Атрибут onChange задает выражение,
которое должно выполняться при потере фокуса ввода элементом HTML-формы
и при изменении содержимого этого элемента. Данный атрибут подобен атрибуту
onBlur, однако для того чтобы возникло событие Change, содержимое поля
должно быть изменено, и поле должно потерять фокус ввода. <script language ="JavaScript"> <!-- function selChange(seln) { selNum = seln.beer.selectedIndex; Isel = seln.beer.options[selNum].text; alert("Выбрано: "+Isel); } //--> </script> <form> Выберите марку пива: <select name="beer" onChange="selChange(this.form)"> <option>Жигулевское <option>Очаковское <option>Бочкарев <option>Красный восток </select> </form> В этом примере имеется
единственный объект select с именем beer, содержащий четыре элемента,
определенные в тегах <option>. Каждый раз при выборе нового элемента
вызывается функция JavaScript с именем selChange(). Для обращения к
значениям тегов <option> в программе используется массив свойств
options. Подобный пример разбирался ранее, только сейчас используется
событие onChange. Атрибут onClick - активизация гиперсвязейАтрибут onClick может использоваться в следующих тегах HTML:
Операторы языка JavaScript, заданные
в атрибуте onClick, выполняются при щелчке мыши на таких объектах как
гиперсвязь, кнопка перезагрузки формы или контрольный переключатель.
Для контрольных переключателей и селекторных кнопок событие Click возникает
не только при выборе элемента, но и при разблокировании.
<script language="JavaScript"> <!-- function but1() { alert("Вы нажали первую кнопку"); } function but2() { alert("Вы нажали вторую кнопку"); } //--> </script> <form> <input type="button" value="Первая кнопка" onClick="but1()"> <input type="button" value="Вторая кнопка" onClick="but2()"> </form> Когда ползователь
щелкает мышью по кнопке, вызывается либо функция but1(), либо but2().
При этом с помощью метода alert() на экран выводится соответствующее
сообщение. (я часто применяю метод alert() так, как с помощью его очень
удобно демонстрировать работу той или иной программы) <!-- function chk1(f) { if (f.checked) alert("Первый переключатель включен"); else alert("Первый переключатель отключен"); } function chk2(f) { if (f.checked) alert("Второй переключатель включен"); else alert("Второй переключатель отключен"); } //--> </script> <form name="chkform"> <input type="checkbox" checked name="c1" onClick="chk1(this.form.c1)"> Переключатель 1 <BR> <input type="checkbox" name="c2" onClick="chk2(this.form.c2)"> Переключатель 2 </form> после передачи значения this.form.c1 или this.form.c2
в соответствующие функции. Проверяется свойство checked контрольного
переключателя, переданного функции, и в зависимости от значения свойства
checked срабатывает метод alert(). Подтверждение активизации гиперсвязи Гиперссылка
обычно всегда срабатывает по клику мыши, но иногда нужно, чтобы пользователь
был уверен, что хочет перейти по ссылке в следующий документ. Для этого
существует метод confirm(), который отображает на экране окно сообщения
с кнопками "Ok" и "Cancel". Для перехвата события в теге <a href=
... > мы применим событие onClick. рассмотим пример: Получение фокуса ввода - атрибут onFocusАтрибут обработчика события onFocus работает со следующими тегами HTML:
Название говорит за себя, атрибут onFocus позволяет обрабатывать события, связанные с получением фокуса ввода. Я не буду переписывать приведенное выше описание атрибута onBlur. Все дело в том, что эти атрибуты очень похожи, только в отличие от onBlur, здесь обрабатывается событие при получении фокуса ввода. Атрибут onLoad - загрузка документаАтрибут обработчика события onLoad работает со следующими тегами HTML:
Атрибут onLoad, помещенный в
тег <body>, активизирует заданные операторы языка JavaScript,
когда загрузка текущего документа в браузер завершена. Событие происходит
после завершения загрузки текста HTML в текущее окно или фрейм. Атрибут unLoad - выгрузка документаАтрибут обработчика события unLoad работает со следующими тегами HTML:
Соответствующее
событие возникает при выгрузке текущего документа, тоесть вызывается
функция-обработчик события перед выгрузкой документа из текущего окна
или фрейма. Атрибуты onMouseOver и onMouseOut - перемещение мышиНужно сказать очень популярные атрибуты. OnMouseOver позволяет активизировать JavaScript-операторы, когда курсор мыши находится на активной гиперсвязи, а атрибут onMouseOut - когда курсот отведен от гиперсвязи.
Атрибут onMouseOver операторы
JavaScript, когда указатель мыши наведен на гиперсвязь, в которой задан
этот атрибут. При обработке событий MouseOver можно изменять сообщения
в строках состояния и текстовые поля. Кроме того часто используются
для динамической подмены рисунка в навигационной панели. <!-- function clearf() { document.forms[0].atr_text.value = "Здесь приведено краткое описание атрибута"; } var atrText1= "Атрибут OnMouseOver-помещение мыши на гиперсвязь\r\n\n"+ "Далее может находиться подробное описание этого\r\n"+ "атрибута обработчика событий"; var atrText2= "Атрибут OnMouseOut-обработка события при перемещении\r\n"+ "мыши за пределы гиперсвязи\r\n\n"+ "Далее может находиться подробное описание этого\r\n"+ "атрибута обработчика событий"; //--> </script> Для получения более подробной информации поместите указатель мыши на
гиперссылку.<BR> На основе этой программы
можно создать другие документы и включить их в собственную обработку
различных событий. В данном примере обращение к объекту form[0],
хотя в данном документе это уже пятая по счету форма и я создал form[4].
Имейте в виду, что если в текущем документе имеется несколько форм,
в массиве следует писать соответствующий индекс. В настоящее время
имеется множество готовых программ с использованием этих атрибутов.
На этой странице в частности они использованы для кнопок навигации.
Тоесь это наиболее распространенные атрибуты. Атрибут onSelect - выделение текстаАтрибут onSelect может быть использован со следующими тегами:
Этот атрибут запускает обработчик
события, когда пользователь выделил фрагмент текста в поле ввода или
области текста. [<<Назад] [В начало] [Следущий>>] |