Добавляем...


Модель событий Internet Explorer 4+ / Привязка обработчиков событий к объектам
Модель событий Internet Explorer 4 и более поздних версий более совершенна, чем модель событий Netscape 4. В IE4+ каждый элемент страницы представляется соответствующим объектом, поэтому программисту доступно больше элементов, способных генерировать события. Кроме того, Microsoft реализовала более широкий набор доступных для объектов событий. Главным недостатком оказывается то, что распространение событий происходит в направлении, противоположном Netscape 4, а это усложняет проблему универсальности сценариев, когда требуется обеспечить обратную совместимость в отношении браузеров.
Привязка обработчиков событий к объектам
Вне зависимости от того, какой браузер имеет пользователь, всегда можно связать обработчики событий с объектами, используя атрибуты (X)HTML, указываемые непосредственно в рамках элемента или с помощью программного кода JavaScript. Но Internet Explorer обеспечивает дополнительный механизм решения этой задачи — метод attachEvent(). Этот метод был добавлен для всех объектов в Internet Explorer 5, чтобы обеспечить поддержку "элементов поведения" DHTML и, вероятно, в предвосхищение стандарта DOM2 (хотя семантика аналога этой возможности в DOM2 совершенно другая).
Метод attachEvent() использует следующий синтаксис:

обьект.attachEvent("coбытие", обработчик);

где первый параметр указывает строку типа "onclick", а обработчик — функцию, которая должна вызываться при наступлении события. Возвращаемое значение имеет тип Boolean и сообщает, успешной ли была привязка.
Чтобы отменить созданную таким образом связь обработчика событий с объектом, используется detachEvent() с точно такими же аргументами. Следующий.простой пример иллюстрирует данный подход:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>IE Attach/Detach Event Test</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<script type="text/javascript">
<!--
function showAuthor()
{
alert("Оскард Уальд");
}
function enableEvent()
{
someText.attachEvent("onmouseover", showAuthor);
}
function disableEvent()
{
someText.detachEvent("onmouseover", showAuthor);
}
//-->
</script>
<!--
Template Coder: M. Hodge
Content Coder: D Whitworth 031005
Programmer:
//-->
</head>
<body onload="enableEvent();">
<em id="someText">Можно находиться в сточной канаве, но при этом обращать свой взор к звездам</em>

<form action="#" method="get">
<input type="button" value="Привязать событие" onclick="enableEvent();" />
<input type="button" value="Разорвть событие" onclick="disableEvent();" />
</form>
</body>
</html>

назад:
далее: Объекты событий


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика