На этом шаге мы рассмотрим особенности выполнения действия по умолчанию.
Если бы наш обработчик события click был зарегистрирован не для элемента <div>, а для элемента ссылки (<а>), мы могли бы столкнуться с другой проблемой. После щелчка на ссылке браузер загружает новую страницу. Такое поведение обеспечивается не обработчиком события в том смысле, в каком обсуждалось, а является действием по умолчанию, предусмотренным для события щелчка мышью на ссылке. Аналогично, когда в процессе заполнения формы нажимается клавиша Enter, возбуждается событие submit формы, но после этого происходит фактическая передача формы.
Если действия, предусмотренные по умолчанию, нежелательны, вызов метода .stopPropagation() объекта события не поможет. Эти действия выполняются за пределами обычного процесса распространения события. В такой ситуации следует вызвать метод .preventDefault(), который служит для остановки распространения события, прежде чем будет предпринято действие по умолчанию.
Распространение событий и действия по умолчанию - независимые механизмы. Мы можем препятствовать работе одного из них, в то время как другой будет продолжать работать. Если необходимо прервать работу обоих механизмов сразу, функция-обработчик должна вернуть значение false, что является сокращенным эквивалентом вызова обоих методов, .stopPropagation() и .preventDefault(), объекта события.
На следующем шаге мы рассмотрим делегирование событий.