JavaScript заметки
Открыть в Telegram
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Больше7 740
Подписчики
-124 часа
-67 дней
-5430 день
Архив постов
7 740
Декомпозиция процесса обработки событий
Метод
handleEvent не обязательно должен выполнять всю работу сам. Он может вызывать другие методы, которые заточены под обработку конкретных типов событий (см. пример на картинке).
Теперь обработка событий разделена по методам, что упрощает поддержку кода.
#браузер #документ #события7 740
Можно использовать класс для обработки событий
Как видим, если
addEventListener получает класс в качестве обработчика, он вызывает menu.handleEvent(event), когда происходит событие.
Здесь один и тот же объект обрабатывает оба события. Обратите внимание, мы должны явно назначить оба обработчика через addEventListener. Тогда объект menu будет получать события mousedown и mouseup, но не другие (не назначенные) типы событий.
#браузер #документ #события7 740
⁉️ Много ли вы знаете каналов по льготной ипотеке?
IT-ипотека новостройки поможет вам быстро и без комиссии получить льготную ипотеку - с подборкой новостроек
IT-ипотека новостройки по помимо льготной ипотеки выставляет новости по теме - ставки - статистики, канал полон важной и уникальной информации!
места ограниченны 27/100
https://t.me/itipoteka
7 740
Объект-обработчик: handleEvent
Мы можем назначить обработчиком не только функцию, но и объект при помощи
addEventListener. В этом случае, когда происходит событие, вызывается метод объекта handleEvent.
#браузер #документ #события7 740
Объект события доступен и в HTML
При назначении обработчика в HTML, тоже можно использовать объект
event.
Это возможно потому, что когда браузер из атрибута создаёт функцию-обработчик, то она выглядит так: f
unction(event) { alert(event.type) }.
То есть, её первый аргумент называется "event", а тело взято из атрибута.
#браузер #документ #события7 740
5 вещей, которые должен уметь каждый:
— Уметь обходить любые блокировки
— Узнавать пароль к любой Wi-Fi сети
— Смотреть платный контент без подписки
— Находить людей в сети по фото
— Создавать уникальные тексты с помощью нейросети
Если вы об этом не знали, загляните на "Не баг, а фича". Это самый известный IT-канал в Telegram: ребята поясняют за горячие клавиши, делятся полезными онлайн-инструментами и рассказывают как заставить нейронку делать всю работу за вас.
Баги Instagram и YouTube, сайты с бесплатными приложениями, секретные функции iOS и Windows — лишь малая часть того, что вы найдете внутри.
Всё гораздо проще, чем вы думаете. Надо только знать, где искать информацию, а это место мы уже нашли за вас. Вам осталось только подписаться — "Не баг, а фича"
7 740
Основные свойства объекта event
event.type — тип события, в данном случае "click".
event.currentTarget — элемент, на котором сработал обработчик. Значение – обычно такое же, как и у this, но если обработчик является функцией-стрелкой или при помощи bind привязан другой объект в качестве this, то мы можем получить элемент из event.currentTarget.
event.clientX / event.clientY — координаты курсора в момент клика относительно окна, для событий мыши.
#браузер #документ #события7 740
Одно из главных в обучении фронтенд-разработке — это непрерывная практика и навыки, нужные бизнесу.
Чем раньше вы нырнёте с головой в продакшен, тем быстрее почувствуете себя уверенно на рынке труда.
Изучите JavaScript, HTML и CSS, фреймворки React+Redux Toolkit и сопутствующую инфраструктуру на реальных кейсах, наполните портфолио готовыми веб-приложениями и пройдите оплачиваемую стажировку в проектах IT-кластера Ростелеком.
65% выпускников Хекслет получают оффер на первых 5 собеседованиях!
Начните учиться прямо сейчас, чтобы оценить формат.
7 740
Объект события
Чтобы хорошо обработать событие, могут понадобиться детали того, что произошло. Не просто «клик» или «нажатие клавиши», а также – какие координаты указателя мыши, какая клавиша нажата и так далее.
Когда происходит событие, браузер создаёт объект события, записывает в него детали и передаёт его в качестве аргумента функции-обработчику.
Пример выше демонстрирует получение координат мыши из объекта события.
#браузер #документ #события
7 740
Обработчики некоторых событий можно назначать только через addEventListener
Существуют события, которые нельзя назначить через DOM-свойство, но можно через
addEventListener.
Например, таково событие DOMContentLoaded, которое срабатывает, когда завершена загрузка и построение DOM документа.
Так что addEventListener более универсален. Хотя заметим, что таких событий меньшинство, это скорее исключение, чем правило.
#браузер #документ #события7 740
Лучшие вакансии для фронтенд разработчиков и точка
Специально для Вас, собираем топовые вакансии по фронтенду на канале @job_frontend. Подпишись чтобы не упустить свой шанс получить лучший оффер!
7 740
Удаление требует именно ту же функцию
Для удаления нужно передать именно ту функцию-обработчик которая была назначена.
Первый вариант не сработает, т.к. в
removeEventListener передана не та же функция, а другая, с одинаковым кодом, но это не важно.
Обратим внимание – если функцию обработчик не сохранить где-либо, мы не сможем её удалить. Нет метода, который позволяет получить из элемента обработчики событий, назначенные через addEventListener.
#браузер #документ #события7 740
removeEventListener
Удаляет обработчик события, который был зарегистрирован при помощи
EventTarget.addEventListener(). Обработчик определяется типом события, самой функцией обработки события, и дополнительными параметрами, переданными при регистрации обработчика.
#браузер #документ #события7 740
Знакомо чувство, когда сайт сделан, все работает, как ты хочешь, но проверяешь этот сайт в Lighthouse или Google PageSpeed Insights и видишь желтые или того хуже красные цифры? Ещё страшнее, когда в эти цифры тебя тыкает заказчик или руководитель проекта, или вообще твой прямой начальник. Стыдно, страшно, и потом неделю исправляешь.
А вот создатели канала perfScan разбираются в скорости загрузки сайтов, так как на коммерческой основе уже 5 лет консультируют в теме WEB Performance, ускоряют сайты и разрабатывают быстрые сайты самостоятельно.
Подписывайся на канал, и получай примеры кода, готовые разработки, кучу лайфхаков и полезных мелочей, внедрив которые сайт станет заметно быстрее. Кроме того, авторы активно отвечают на комментарии, где можно задать вопрос, или попросить их разобрать свой проект.
Подписывайся: @perfScan
7 740
Свойство «hidden»
Атрибут и DOM-свойство «hidden» указывает на то, видим ли мы элемент или нет.
Мы можем использовать его в HTML или назначать при помощи JavaScript, как в примере ниже (см. пример выше на картинке).
Технически,
hidden работает так же, как style="display:none". Но его применение проще.
#браузер #документ #свойства_узлов7 740
Получи необходимые для работы навыки и умения вместе с каналом Senior JavaScript!
У нас ты найдешь:
✔️ Теория. Разбор синтаксиса и особенностей языка
✔️ Практика. Тестовые задачи для проверки своих знаний
✔️ Ссылки на полезные Ютуб видео и статьи с Хабра
Также мы периодически выкладываем самые свежие вакансии от компаний партнёров!
7 740
addEventListener
Метод
EventTarget.addEventListener() регистрирует определённый обработчик события, вызванного на EventTarget.
Данный метод позволяет "вешать" несколько обработчиков одного и того же события на один элемент. Именно благодаря этому является более предпочтительным вариантом обработки событий.
#браузер #документ #события7 740
Регистр DOM-свойства имеет значение
Используйте
elem.onclick, а не elem.ONCLICK, потому что DOM-свойства чувствительны к регистру.
#браузер #документ #события7 740
💡 JavaScript - канал, в котором админ рассказывает сложный javascript человеческим языком.
Подписывайся, если хочешь прокачать JS и повысить свой чек за работу - t.me/simple_js
7 740
Не используйте setAttribute для обработчиков
Такой вызов работать не будет, т.к.
setAttribute приводит все в строковый тип.
#браузер #документ #события
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
