<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Стандартная модель событий в языке JavaScript.

Стандартная модель событий в языке JavaScript.

Сегодня мы рассмотрим стандартную модель событий в языке JavaScript.

Думаю, многие знают способ задания события через атрибут on + название события.

<a href="#" onclick="alert('Сработало событие!');">Нажми!</a>

Но этот способ является далеко не самым лучшим, т.к. html - это разметка и там не следует писать скриптов в атрибутах. Для того, чтобы повесить какое-нибудь событие на элемент, есть метод addEventListener(). Этот метод принимает три параметра:

  • первый - название события
  • второй - функция, которая должна сработать на этом событии
  • третий - этап события. Если true(по-умолчанию), то событие будет срабатывать на этапе захвата, а если false - на этапе всплытия. Советую вам всегда ставить третим параметром false.
<html>
<head>
  <title>addEventListener</title>
  <meta charset="utf-8">
</head>
<body>
  <a href="yandex.ru" id="link">Нажми!</a>
  <script>
   var link = document.getElementById('link');
   link.addEventListener('click', function(e) {
    e.preventDefault();
    alert('Был произведён клик по ссылке!');
   }, false);
   link.addEventListener('click', function(e) {
    e.preventDefault();
    document.getElementsByTagName('body')[0].style.background=green;
   }, false);
  </script>
</body>
</html>

Как видно из примера, ещё одним плюсом данного метода является то, что мы можем повесить сразу несколько действий на одно и то же событие! В нашем примере сначала выведится alert, а затем поменяется фон body на зелёный цвет. Также заметьте, что в функцию-обработчик будет передан объект события. Назвать вы можете его как угодно, но обычно называют просто e. У него есть много всяких свойств и методов, которые вы можете посмотреть в справочнике, а в нашем примере я использовал метод preventDefault(), который отменяет стандартное поведение и, следовательно, кликая по ссылке, мы никуда не перейдём.

В конце стоит сказать, что бывают случаи, когда нужно повесить событие, а потом его где-то удалить. За удаление события отвечает метод removeEventListener(), который принимает такие же параметры, как и addEventListener().

<html>
<head>
  <title>RemoveEventListener</title>
  <meta charset="utf-8">
</head>
<body>
  <a href="yandex.ru" id="link">Нажми!</a>
  <script>
   function myfunc() {
    alert('Событие, которое не сработает.');
   }
   var link = document.getElementById('link');
   link.addEventListener('click', myfunc, false);
   link.removeEventListener('click', myfunc, false);
  </script>
</body>
</html>

Здесь ничего не произойдёт, т.к. мы сначала повесили событие, а потом сразу его удалили.

Итак, сегодня вы узнали, как правильно задавать события в языке JavaScript. Если вы испытываете трудности в понимании статьи, то советую приобрести курс JavaScript, jQuery и Ajax с Нуля до Гуру, пройдя который вы сможете по праву называть себя Гуру JavaScript'а.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.