Модель событий для Internet Explorer 8-.
В прошлой статье мы рассмотрели, как работает стандартная модель событий для современных браузеров, в этой я покажу, как привязать события для браузеров Internet Explorer 8-.
<html>
<head>
<title>AttachEvent</title>
<meta charset="utf-8">
</head>
<body>
<a href="yandex.ru" id="link">Нажми!</a>
<script>
var link = document.getElementById('link');
link.attachEvent('onclick', function(e) {
e.returnValue = false;
alert('Был произведён клик по ссылке!');
});
</script>
</body>
</html>
Как видите, разница лишь в том, что для старых IE используется метод attachEvent, где всё то же, что и в addEventListener, за исключением названия события: оно задаётся в формате: on + название события, и отсутствует третий параметр. Здесь также передаётся объект события, но заместо preventDefault у нас returnValue=false. Делает он абсолютно то же самое: отменяет стандартное поведение браузера. Остальные свойства и методы вы, как и всегда, можете найти в справочнике.
Чтобы удалить событие, используется метод detachEvent.
<html>
<head>
<title>DetachEvent</title>
<meta charset="utf-8">
</head>
<body>
<a href="yandex.ru" id="link">Нажми!</a>
<script>
function myfunc(e) {
e.returnValue = false;
alert('Событие, которое не сработает');
}
var link = document.getElementById('link');
link.attachEvent('onclick', myfunc);
link.detachEvent('onclick', myfunc);
</script>
</body>
</html>
Как и в прошлый раз, ничего не должно произойти, т.к. мы сначала повесили событие, а потом его удалили.
Итак, сегодня вы узнали, как вешать события на элементы для старых IE(8-).
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.