![]() |
|
||||||||||||||
|
|
|
|
Курс обучения JavaScript: События
JavaScript поддерживает отслеживание некоторых изменений и действий пользователя на странице. Каждое такое изменение или действие порождает событие, которое программист может перехватить и выполнить какие-то необходимые действия. Примеры событий - клик мыши на элементе страницы, получение фокуса ввода элементом формы, окончание загрузки или выгрузки страницы. Список событий, доступных в каждом отдельном браузере обычно можно узнать на сайте компании-разработчика или в справочной документации. Список основных обработчиков определён стандартом W3C, но каждый разработчик браузера волен добавлять обработчики по своему желанию. Например, событие onAbort поддерживается IE, но не является стандартным и не поддерживается браузерами Netscape. В первых версиях браузеров Web-программисты могли оперировать лишь с небольшими наборами событий для каждого типа отображаемых элементов, но в последних версиях можно назначить события практически любому элементу страницы. Наиболее популярные и полезные события перечислены в таблице:
Наряду со стандартными событиями компания Microsoft в своих браузерах IE версии 5.5 и выше ввела большое количество собственных событий, например oncut(), oncopy(), onselectstart() и т.п. Но если вы хотите, чтобы ваши скрипты одинаково хорошо работали во всех браузерах - старайтесь используйте только стандартный набор событий. Чтобы при возникновении события выполнить какие-то действия, необходимо предварительно указать обработчик этого события. Это можно сделать двумя путями: программно или непосредственно в HTML-коде. Пример программного добавления собятия onload():
<head>
<script type="text/javascript" language="javascript">
function initVariables()
{
alert('документ загружен');
retun true;
}
window.onload = initVariables;
</script>
</head>
А эта версия примера имеет такой же функционал, как предыдущая, но обработчик события добавляется средствами HTML:
<head>
<script type="text/javascript" language="javascript">
function initVariables()
{
alert('документ загружен');
retun true;
}
</script>
</head>
<body onload="initVariables();">
</body>
Аналогичным образом могут быть присвоены обработчики событий другим элементам (ссылкам, элементам списка, кнопкам и пр.). Некоторые элементы уже имею встроенные обработчики по-умолчанию. Например, клик по кнопке типа "submit" отправляет форму на сервер, а клик по ссылке перенаправляет браузер по указанному адресу. Но иногда возникает необходимость отключить стандартный обработчик. Сделать это очень просто - достаточно в обработчике вернуть значение false или воспользоваться свойствами объекта event. Рассмотрим пример - проверка значений полей формы перед отправкой. Например, у нас есть форма подписки на почтовые рассылки. Форма состоит из поля ввода, куда пользователь должен вписать свой email, и кнопки "Отправить" типа "submit". Нам необходимо создать скрипт, который будет проверять поле ввода на наличие текста и запрещать отправку формы, если пользователь ничего не ввёл.
<head>
<script type="text/javascript" language="javascript">
function checkForm(evt)
{
// получаем значение поля email
var value = document.getElementById("email").value;
// если значение отсутствует -
// предупреждаем пользователя и
// запрещаем отправку почты
if(!value)
{
alert('не указан email!');
return false;
}
// иначе просто разрешаем отправку формы
return true;
}
</script>
</head>
<body>
<form action="subsribe.php" method="get" onsubmit="return checkForm();">
<input type="text" name="email" id="email" /> <br />
<input type="submit" name="sbm" id="sbm" value="Подписаться" />
</form>
</body>
Этот скрипт вполне работоспособен, но не совсем корректен с точки зрения системы событий JavaScript. Правильные способы обработки и блокировки собятий мы рассмотрим в уроках этого раздела.
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Спасибо, что заглянули на сайт. Надеюсь, Вам понравилось. Заходите еще. Здесь всегда рады вам :) |
|
© 2005-2012 |
E-mail: |