Стилизация различных состояний
Кнопка уже выглядит неплохо, но кое-чего не хватает. Это интерактивный элемент, имеющий несколько состояний. Мы должны стилизовать и их.
У браузеров есть собственные дефолтные стили для состояний (фокус на кнопке) и (нажатие), но часть из них мы уже сбросили. Не забудем также про состояние (наведение курсора).
- Для нажатой кнопки создадим олдскульный эффект «утопления» с небольшим изменением насыщенности.
- При наведении курсора поменяем местами цвета фона и текста и добавим рамку.
- Для обозначения фокусировки используем такой же стиль.
Обратите внимание: стили фокуса очень важны. Многие пользователи по разным причинам пользуются клавиатурой для навигации по странице
Только стилизованный :focus помогает им понять, где они находятся в данный момент.
Только после того как мы позаботились о собственном оформлении фокуса можно убрать у кнопки дефолтные браузерные стили ().
See the Pen
Button states styling by FurryCat (@mohnatus-the-lessful)
on CodePen.
Как работает Redirect Virus
Вирус переадресации работает следующим образом:
Перенаправление веб-браузера
Вирус переадресации перенаправляет нас с привычной главной страницы браузера на другую
Переадресация домашней страницы веб-браузера — это когда вы перенаправляетесь на домашнюю страницу, отличную от той что была у вас. Например, если в качестве обычной домашней страницы у вас был Google.com, когда вы открываете свой браузер, вы внезапно перенаправляетесь на сайт badsite.com (назовем его так в качестве примера), который отображается как ваша домашняя страница, а затем вы заражаетесь перенаправлением домашней страницы веб-браузера.
Перенаправление поиска веб-браузера
При поиске информации вирус переадресации выдает нам совершенно другой результат
Переадресация поиска в веб-браузере — это когда вы выполняете поиск в поисковой системе или адресной строке браузера, а вместо перехода к вашему запросу, вы вдруг переходите на какой-то другой сайт. Например, если поисковым провайдером по умолчанию является Google, при выполнении поиска вам почему-то выдает результаты на сайте badsearchsite.com, а не в Google поиске. В этом случаи вы заражены вирусом перенаправления поиска веб-браузера.
Перенаправление рекламы в веб-браузере
Переадресация рекламы в веб-браузере — это когда ваш браузер перенаправляется на рекламу, вместо того, чтобы перейти по нажатой вами ссылке на каком-то интересном вам вебсайте. Например, если вы находитесь на BleepingComputer.com (возьмем его в качестве примера), нажимаете на ссылку и перенаправляетесь на всплывающее окно Tech Support Scam, тогда вы заражены переадресацией рекламы.
Настройка виджета Button
Виджет Button jQuery UI имеет ряд настраиваемых свойств, с помощью которых можно управлять способом создания результирующей кнопки. Перечень этих свойств приведен в таблице ниже:
Свойство | Описание |
---|---|
disabled | Позволяет определить, отключена ли кнопка, или изменить ее состояние. Отключенной кнопке соответствует значение true. Состояние базового HTML-элемента игнорируется в jQuery UI |
text | Позволяет определить, отображается ли текст кнопки, а также установить или отменить отображение текста. Если значение icons равно false, то эта опция игнорируется |
icons | Позволяет определить, отображаются ли значки в тексте кнопки, а также задать отображаемые значки или отменить их отображение |
label | Позволяет получить или изменить текст кнопки |
Описанные опции могут применяться двумя способами. Первый способ предполагает использование объекта отображения при вызове метода button(), как показано в примере ниже:
Здесь свойство label используется для указания текста, который должен отображаться на кнопке, а свойство disable — для отключения кнопки. Это соответствует стилю, с которым вы уже встречались при настройке Ajax-запросов, и его следует придерживаться при установке начальных конфигураций виджетов.
В примере выше продемонстрирован и второй способ, который используется для получения или задания новых значений свойств уже после создания экземпляра виджета. В данном случае также вызывается метод button(), но теперь с тремя аргументами. Первый аргумент — это имя метода option, второй — свойство, значение которого вы хотите изменить, а третий — новое значение, присваиваемое свойству. Здесь для свойства disabled устанавливается значение false, которое заменяет значение, установленное перед этим с помощью объекта отображения при создании экземпляра виджета.
Обе методики могут объединяться в одном вызове. В этом случае методу button() в качестве первого аргумента передается метод option, а в качестве второго объект отображения. Это позволяет указать сразу несколько опций при вызове метода button():
Для чтения значения параметра здесь используется все тот же немного «корявый» синтаксис. В данном случае метод button() вызывается с двумя аргументами. Первый из них — метод option, а второй — свойство, значение которого требуется получить. Эта инструкция считывает значение свойства disabled и выводит его на консоль:
Чекбоксы и радиокнопкиСкопировать ссылку
Элементы форм — базовые элементы страниц
Когда мы не используем их напрямую, то всё равно должны уделять пристальное внимание тому, как они себя ведут. Проработка смены состояний у таких элементов установлена принципами юзабилити, которыми глупо было бы пренебрегать
В принципе, нативный с типом checkbox идеально подходит для любых ситуаций, когда нужно что-то включить или выключить. Он обладает всеми основными составляющими доступного контрола при наличии правильного : к нему есть доступ у скринридера и клавиатуры на разных платформах и устройствах. Об изменении его состояния с «установлен» (checked) на «не установлен» (unchecked) и наоборот сообщается сразу же.
В примере ниже с помощью чекбокса можно включить или выключить уведомления по электронной почте.
Скринридеры примерно одинаково интерпретируют этот контрол. При фокусе на нём (если перемещаться по странице с помощью клавиши Tab) будет объявлено что-то вроде «Уведомлять по почте, флажок не установлен». В этом объявлении есть содержимое , роль и состояние элемента.
При выборе чекбокса большинство скринридеров сразу же объявит, что состояние изменилось на «установлен» (иногда повторяя информацию о содержимом и роли). Состояние элемента будет обработано без использования JavaScript, а скринридер сообщит пользователю информацию об изменениях контрола.
Примечание: скринридеры нужны не только слепымСкопировать ссылку
Некоторые работают со скринридерами, чтобы было легче понять интерфейс. У других может быть дислексия или низкий уровень грамотности. Есть даже те, у кого имеются незначительные физические или когнитивные проблемы, затрудняющие понимание интерфейса, и кто просто иногда хочет, чтобы им читали вслух.
Поддержка скринридеров — это поддержка скринридеров, а не только слепых пользователей. Это инструменты для большого числа разных людей, которым нравится ими пользоваться.
В этом случае часть переключателя, в которой содержатся значения или , не связана с , но зато отражает состояние элемента. Напротив, содержимое нужно для определения того, что именно мы выключаем или включаем. Если вы считаете, что пользователям необходима более очевидная аналогия с включением и выключением, можно использовать группу радиокнопок.
Заголовок группы элементов — это мощный инструмент. Как следует из названия, он является общей подписью для связанных (сгруппированных) элементов. В этом случае элемент работает вместе с и даёт возможность задать для двух радиокнопок одно описание «Уведомлять по почте». Эти кнопки объединены общим значением атрибута . Благодаря этому можно переключаться между ними при помощи стрелок на клавиатуре. Использование семантического HTML не только сообщает информацию об элементах, но и влияет на их поведение.
В Windows, когда пользователь установил фокус на первом контроле, скринридеры JAWS и NVDA добавляют заголовок группы к отдельному этого контрола и считают количество радиокнопок в группе. NVDA ещё добавляет термин «группировка», чтобы стало более очевидно, что это группа радиокнопок. В примере выше фокус сделан на первой (выбранной по умолчанию) радиокнопке. Скринридеры сделают из этого такой вывод: «Уведомлять по почте, группировка, переключатель выделен, один из двух».
Несмотря на то, что выбран первый элемент (некоторые скринридеры объявят «выделено»), пользователь может переключаться между ним и второй радиокнопкой. «Включить» и «выключить» — это два возможных, если хотите, лексических состояния у такого составного контрола.
Примечание: стилизация элементов формСкопировать ссылку
Печально известно, что элементы форм сложно стилизовать. Однако есть хорошо поддерживаемые CSS-техники для стилизации радиокнопок и чекбоксов, которые я описал в «Replacing Radio Buttons Without Replacing Radio Buttons». Если нужны советы о том, как стилизовать контролы и поля для загрузки файлов, посмотрите гайдлайн «WTF Forms?» Марка Отто.
Images
SlideshowSlideshow GalleryModal ImagesLightboxResponsive Image GridImage GridTab GalleryImage Overlay FadeImage Overlay SlideImage Overlay ZoomImage Overlay TitleImage Overlay IconImage EffectsBlack and White ImageImage TextImage Text BlocksTransparent Image TextFull Page ImageForm on ImageHero ImageBlur Background ImageChange Bg on ScrollSide-by-Side ImagesRounded ImagesAvatar ImagesResponsive ImagesCenter ImagesThumbnailsBorder Around ImageMeet the TeamSticky ImageFlip an ImageShake an ImagePortfolio GalleryPortfolio with FilteringImage ZoomImage Magnifier GlassImage Comparison Slider
Браузер запускается сам и открывается сайт с рекламой. Решение проблемы
Если вы не хотите чтоб ваш браузер жил своей собственной жизнью, постоянно открывая ненужный сайт, вы должны удалить системные задания — первоисточник проблемы. Чтобы решить ее, следуйте нижеприведенной пошаговой инструкции:
-
Используя сочетание клавиш «Win+R», откройте окошко «Выполнить». В этом окне вставьте «taskschd.msc». Кликните «ОК» чтобы продолжить.
-
В новом появившемся окне нажмите на библиотеку планировщика заданий, как на примере ниже.
-
Вам нужно отыскать задания, которые виноваты в том, что ваш браузер живет сам по себе. Названия задач ни о чем не говорят, так как вредоносные программы отлично маскируются и таким способом их не обнаружить. Отличительная черта вредоносных задач это запуск один раз в несколько минут. Вы можете выбрать задание и перейти во вкладку «Триггеры», чтобы посмотреть на частоту повтора.
-
Если вы хотите знать, что запускает задачу, перейдите во вкладку «Действия». Вредоносные программы запускают сайты используя команды.
-
Отключите все сомнительные задания, которые вызвали у вас подозрения. Для этого кликните по заданию и нажмите «Отключить» (не удаляйте если полностью не уверены о вредоносности задания).
Проверьте ваш браузер, исчезла проблема или нет.
Вредоносные программы также могут оставить свой след и в автозагрузке.
-
Проверьте список автозагрузки в «Диспетчере задач». Открыть его можно с помощью клавиш «Ctrl+Alt+Del». Или вы можете кликнуть по нижней панели, после чего появиться окно в котором необходимо выбрать то что вам нужно (как на картинке ниже).
-
Также проверьте службы и процессы. Если вы найдете что-то, что вызовет у вас подозрения, отключите или удалите.
Вы также можете воспользоваться специальной антивирусной программой, о чем мы поговорим ниже.
4. Распространенные стили селекторов
Ниже представлен ряд распространенных стилей флажков и радиокнопок, с которыми вы можете столкнуться в Интернете.
Стандартный стиль (радиокнопки / флажки)
Самый стандартный стиль флажков и радиокнопок – это кнопки с «галочками» или заполненные кружки. Я предпочитаю кнопки с галочкой, если вы не имеете дело с образовательными тестами (см. ниже).
Стандартный стиль с галочками
Стандартный стиль без галочек
Стиль кнопки в тестах (радиокнопки / флажки)
Когда пользователь отвечает на вопросы теста или викторины, мы должны убедиться в двух вещах: 1) что он может четко видеть, какие ответы выбирает, 2) что он не запутается, когда получит фидбек на свой ответ.
Если вы посмотрите на приведенный ниже пример, то увидите, что «галочка» может сбить с толку – кажется, что эти ответы верны, хотя еще не проверены.
Селекторы викторины, показывающие, что наличие галочки вызывает путаницу
Основной стиль с изображением (радиокнопки/ флажки)
Хотя этот стиль селектора может дать пользователю лучшее представление о том, что он выбирает, я редко использую его, поскольку, все равно изображение всегда будет слишком маленьким, чтобы его можно было разглядеть.
Радиокнопки и флажки с изображениями. Изображения: (с unSplash): Гамбургер от @amir_v_ali | Чикенбургер от @amir_v_ali | Веджибургер от @swimstaralex | Сыр от @swimstaralex | Помидоры от @lmablankers | Латук от @producteurslocaux
Изображения в стиле сетки (одно / несколько)
Я предпочитаю этот стиль изображений базовому, поскольку вы можете сделать изображения намного больше, и они лучше смотрятся.
Селекторы с сеткой изоражений. Изображения (с unSplash): Гамбургер от @amir_v_ali | Чикенбургер от @amir_v_ali | Веджибургер от @swimstaralex | Сыр от @swimstaralex | Помидоры от @lmablankers | Латук от @producteurslocaux
Пример одиночного селектора в стиле сетки. Скриншот: https://www.buzzfeed.com/jessicamisener/which-sandwich-are-you
Многоуровневые флажки
Многоуровневые флажки необходимы, если элементы нужно разделить на группы
Также обратите внимание, что, если выбраны лишь несколько дочерних элементов, родительская категория выбирается только частично
Многоуровневые флажки
Принудительный выбор
Иногда вам нужно разрешить пользователям выбирать только определенное количество элементов. Если пользователь выберет на одно значение больше разрешенного количества, самый первый выбранный вариант будет заменен («вытеснен») последним выбранным вариантом.
Флажки с принудительным выбором
Стиль кнопки (одиночный / множественный выбор)
Этот стиль позволяет вам складывать много разных элементов в стек. Это означает, что вы можете сэкономить место и иметь больше вариантов ответа. Поскольку этот паттерн не является распространенным, я предлагаю вам сообщить пользователю, сколько вариантов он может выбрать. Хотя нет причин не использовать его для одиночных селекторов, я никогда не встречала такой вариант.
Селектор в стиле кнопки
Этот стиль очень распространен, когда пользователя просят выбрать несколько тегов контента (хотя он может не знать об этом). В приведенном ниже примере Apple Music просит пользователей выбрать свои любимые жанры, которые, в свою очередь, порекомендуют песни и исполнителей в зависимости от выбора пользователя.
Выбор жанра Apple Music при регистрации. Изображение: https://www.businessinsider.com/apple-will-shut-down-beats-music-on-november-30-2015-11?IR=T
Переключатель (одиночный выбор)
Переключатель (toggle) чаще всего используется для настроек и позволяет пользователю выбирать между вариантами да / нет.
На мобильном устройстве сам переключатель обычно находится в крайнем правом положении, а метка – в крайнем левом. Это сделано для того, чтобы большому пальцу правой руки было легче менять параметры.
Пример переключателя
Восстановление исходного масштаба экрана
Дополнительно рекомендуется обратить внимание на эти настройки. Используйте их при оптимизации параметров рабочего окружения системы
Изменение разрешения
В Windows 8.1 через контекстное меню рабочего стола открываем «Разрешение экрана», выставляем рекомендуемое или наиболее подходящее разрешение и сохраняем настройки. В Windows 10 заходим в раздел «Дисплей» и выбираем оптимальное разрешение.
Горячие клавиши для масштабирования
Для увеличения или уменьшения значков предусмотрена комбинация Ctrl + + и Ctrl + -. Способ простой, но не слишком удобный, так как при этом невозможно задать свой собственный шаг.
А вот и более тонкий способ масштабирования. Чтобы изменить размер элементов, нужно прокрутить колесо манипулятора с зажатой Ctrl вверх или вниз. Изъяном данного приема является отсутствие фиксированного шага, из-за чего можно случайно пропустить нужный масштаб.
Можно также расширить экран на компьютере с помощью клавиатуры, нажав Win + +. Это действие вызовет штатную утилиту «Лупа» и приблизит экран.
Обработчики событий
Событию можно назначить обработчик, то есть функцию, которая сработает, как только событие произошло.
Именно благодаря обработчикам JavaScript-код может реагировать на действия пользователя.
Есть несколько способов назначить событию обработчик. Сейчас мы их рассмотрим, начиная с самого простого.
Обработчик может быть назначен прямо в разметке, в атрибуте, который называется .
Например, чтобы назначить обработчик события на элементе , можно использовать атрибут , вот так:
При клике мышкой на кнопке выполнится код, указанный в атрибуте .
Обратите внимание, для содержимого атрибута используются одинарные кавычки, так как сам атрибут находится в двойных. Если мы забудем об этом и поставим двойные кавычки внутри атрибута, вот так: , код не будет работать
Атрибут HTML-тега – не самое удобное место для написания большого количества кода, поэтому лучше создать отдельную JavaScript-функцию и вызвать её там.
Следующий пример по клику запускает функцию :
Как мы помним, атрибут HTML-тега не чувствителен к регистру, поэтому будет работать так же, как и … Но, как правило, атрибуты пишут в нижнем регистре: .
Можно назначать обработчик, используя свойство DOM-элемента .
К примеру, :
Если обработчик задан через атрибут, то браузер читает HTML-разметку, создаёт новую функцию из содержимого атрибута и записывает в свойство.
Этот способ, по сути, аналогичен предыдущему.
Обработчик всегда хранится в свойстве DOM-объекта, а атрибут – лишь один из способов его инициализации.
Эти два примера кода работают одинаково:
-
Только HTML:
-
HTML + JS:
Так как у элемента DOM может быть только одно свойство с именем , то назначить более одного обработчика так нельзя.
В примере ниже назначение через JavaScript перезапишет обработчик из атрибута:
Кстати, обработчиком можно назначить и уже существующую функцию:
Убрать обработчик можно назначением .
Добавление дополнительных подписейСкопировать ссылку
В некоторых случаях может понадобиться добавить в переключатель слова «включить» и «выключить». Нужно убедиться в том, что есть чёткая связь между каждым переключателем и соответствующей ему дополнительной подписью.
Представьте настройки уведомления по почте, которые сгруппированы в один список вместе с похожими настройками. Каждый элемент списка содержит описание настройки и выглядит как переключатель. Выражения «включён» и «выключен» — это часть их дизайна. Некоторые элементы тут нужны для стилизации.
Преимущество списка заключается в том, что как видимые, так и скрытые элементы группируются вместе, поэтому видна связь между ними. Списки не только помогают понять взаимосвязь элементов, но и полезны для некоторых скринридеров, которые могут быстро перемещаться как внутри одного списка, так и между несколькими. Например, в JAWS есть горячие клавиши для списков (L) и элементов списков (I).
Каждая кнопка и подпись к ней связаны общим элементом списка. Однако отсутствие явного и уникального — это опасная ситуация, особенно в тех случаях, когда включён режим распознавания речи. Мы можем связать каждую кнопку с текстом элементов списка, используя атрибут :
Каждое значение соответствует значению атрибута у элементов с тегом и устанавливает связь между ними и уникальными подписями у кнопок. Это работает также, как атрибут элемента для в .
ИЗОБРАЖЕНИЯ
Слайд шоуГалерея слайд шоуМодальное изображениеЛайтбоксОтзывчивая сетка изображенийСетка изображенийГалерея вкладокЭффект наведения на изображениеНаложение слайда на изображениеНаложение на изображениеНаложение заголовка на изображениеНаложение иконки на изображениеЭффект к изображениюЧерно-белое изображениеТекст на изображенииИзображение с текстовым блокомИзображение c прозрачным текстомИзображение на всю страницуФорма на изображенииИзображение герояРазмытое фоновое изображениеФоновое изображениеВыравненные изображенияОкругленные изображенияИзображение аватарОтзывчивое изображениеИзображение по центруМинитюрное изображениеЗнакомство с командойЛипкое изображениеЗеркальное изображениеДрожание изображенияГалерея портфолиоПортфолио фильтрЗум изображенияЛупа изображенияПолзунок сравнения
Совместимость с браузерами
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Хромовый Android | Firefox для Android | Опера Андроид | Safari на IOS | Samsung Интернет | |
Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
No | No | Yes | No | No | No | No | No | Yes | No | No | No | |
Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | 16 | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
9 | 12 | 4 | 10 | 15 | 5.1 | 37 | 18 | 4 | ? | 5 | 1.0 | |
9 | 12 | 4 | 10 | 10.6 | ? | 37 | 18 | 4 | ? | ? | 1.0 | |
9 | 12 | 4 | 10 | 15 | ? | 37 | 18 | 4 | ? | ? | 1.0 | |
Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
2005–2021 Участники MDN.Лицензия Creative Commons Attribution-ShareAlike License v2.5 или более поздняя.https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
Элемент
Составная часть блока, которая не может использоваться в отрыве от него.
Особенности:
-
характеризует смысл («что это?» — «пункт»: , «текст»: ), а не состояние («какой, как выглядит?» — «красный»: , «большой»: ).
-
Структура полного имени элемента соответствует схеме: . Имя элемента отделяется от имени блока двумя подчеркиваниями ().
Пример
<form class="search-form"> <input class="search-form__input"> <button class="search-form__button">Найти</button> </form>
Вложенность
-
Элементы можно вкладывать друг в друга.
-
Допустима любая вложенность элементов.
-
Элемент — всегда часть блока, а не другого элемента. Это означает, что в названии элементов нельзя прописывать иерархию вида .
Пример
<form class="search-form"> <div class="search-form__content"> <input class="search-form__input"> <button class="search-form__button">Найти</button> </div> </form> <form class="search-form"> <div class="search-form__content"> <input class="search-form__content__input"> <button class="search-form__content__button">Найти</button> </div> </form>
Имя блока задает пространство имен, которое элементов от блока ().
Блок может иметь вложенную структуру элементов в DOM-дереве:
Пример
<div class="block"> <div class="block__elem1"> <div class="block__elem2"> <div class="block__elem3"></div> </div> </div> </div>
Однако эта же структура блока в методологии БЭМ всегда будет представлена плоским списком элементов:
Пример
.block {} .block__elem1 {} .block__elem2 {} .block__elem3 {}
Это позволяет изменять DOM-структуру блока без внесения правок в коде каждого отдельного элемента:
Пример
<div class="block"> <div class="block__elem1"> <div class="block__elem2"></div> </div> <div class="block__elem3"></div> </div>
Структура блока меняется, а правила для элементов и их названия остаются прежними.
Принадлежность
Элемент — всегда часть блока и не должен использоваться отдельно от него.
Пример
<form class="search-form"> <input class="search-form__input"> <button class="search-form__button">Найти</button> </form> <form class="search-form"> </form> <input class="search-form__input"> <button class="search-form__button">Найти</button>
Необязательность
Элемент — необязательный компонент блока. Не у всех блоков должны быть элементы.
Пример
<div class="search-form"> <input class="input"> <button class="button">Найти</button> </div>
Что такое редирект вирус (перенаправление)?
Как следует из его названия, редирект вирус это автоматическое перенаправление с одного сайта на другой. Это рекламная программа, которая уже нашла путь к вашему компьютеру, через то, что вы загрузили или установили. Вы можете классифицировать его как «Нежелательную программу».
Как вирус переадресации перенаправляет браузер
Эта техника используется разработчиками вредоносного ПО. Таким образом они генерируют трафик на свои сайты, собирают поисковые запросы и, тем не менее, перенаправляют пользователей на некоторые ужасные вебсайты, за которые они получат комиссионные или некоторый доход.
Вирус переадресации пытается перенаправить вас на поддельные вебсайты. Их URL-адрес может быть похож на приведенные ниже ссылки:
- scour.com;
- amused.com;
- bidvertiser.com;
- icityfind.com;
- fastfind.com;
- find-quick-results.com;
- 1freefiledownload.com.
Но эти URL-адреса являются лишь некоторыми признаками того, что ваш браузер заражен редирект вирусом.
Объект события
Чтобы хорошо обработать событие, могут понадобиться детали того, что произошло. Не просто «клик» или «нажатие клавиши», а также – какие координаты указателя мыши, какая клавиша нажата и так далее.
Когда происходит событие, браузер создаёт объект события, записывает в него детали и передаёт его в качестве аргумента функции-обработчику.
Пример ниже демонстрирует получение координат мыши из объекта события:
Некоторые свойства объекта :
- Тип события, в данном случае .
- Элемент, на котором сработал обработчик. Значение – обычно такое же, как и у , но если обработчик является функцией-стрелкой или при помощи привязан другой объект в качестве , то мы можем получить элемент из .
- Координаты курсора в момент клика относительно окна, для событий мыши.
Есть также и ряд других свойств, в зависимости от типа событий, которые мы разберём в дальнейших главах.
Объект события доступен и в HTML
При назначении обработчика в HTML, тоже можно использовать объект , вот так:
Это возможно потому, что когда браузер из атрибута создаёт функцию-обработчик, то она выглядит так: . То есть, её первый аргумент называется , а тело взято из атрибута.