JavaScript заметки
前往频道在 Telegram
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке. Можно почитать пока компилируется проект :) Сотрудничество: @noname_media Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
显示更多7 368
订阅者
-124 小时
-167 天
-5730 天
帖子存档
7 368
Пример всплытия
Этот обработчик для
<div> сработает, если вы кликните по любому из вложенных тегов, будь то <em> или <code>.
#браузер #документ #всплытие7 368
Animation – эффект параллакса для изображения с изменением текста при прокрутке страницы
CSS доширак – канал с подборкой готовых анимаций для вашего проекта
Подписывайся и получай новые идеи каждый день!💡
7 368
textContent: просто текст
Свойство
textContent предоставляет доступ к тексту внутри элемента за вычетом всех <тегов> (см. пример на картинке выше).
Как мы видим, возвращается только текст, как если бы все <теги> были вырезаны, но текст в них остался.
На практике редко появляется необходимость читать текст таким образом.
Намного полезнее возможность записывать текст в textContent, т.к. позволяет писать текст «безопасным способом».
#браузер #документ #свойства_узлов7 368
Как найти нужный плагин для WordPress? Установить все 58 966…?
Нет, подписаться на канал Лениво без кода - где публикуют проверенные плагины и инструкцию к ним.
Не гугли - подпишись!
7 368
Декомпозиция процесса обработки событий
Метод
handleEvent не обязательно должен выполнять всю работу сам. Он может вызывать другие методы, которые заточены под обработку конкретных типов событий (см. пример на картинке).
Теперь обработка событий разделена по методам, что упрощает поддержку кода.
#браузер #документ #события7 368
Можно использовать класс для обработки событий
Как видим, если
addEventListener получает класс в качестве обработчика, он вызывает menu.handleEvent(event), когда происходит событие.
Здесь один и тот же объект обрабатывает оба события. Обратите внимание, мы должны явно назначить оба обработчика через addEventListener. Тогда объект menu будет получать события mousedown и mouseup, но не другие (не назначенные) типы событий.
#браузер #документ #события7 368
⁉️ Много ли вы знаете каналов по льготной ипотеке?
IT-ипотека новостройки поможет вам быстро и без комиссии получить льготную ипотеку - с подборкой новостроек
IT-ипотека новостройки по помимо льготной ипотеки выставляет новости по теме - ставки - статистики, канал полон важной и уникальной информации!
места ограниченны 27/100
https://t.me/itipoteka
7 368
Объект-обработчик: handleEvent
Мы можем назначить обработчиком не только функцию, но и объект при помощи
addEventListener. В этом случае, когда происходит событие, вызывается метод объекта handleEvent.
#браузер #документ #события7 368
Объект события доступен и в HTML
При назначении обработчика в HTML, тоже можно использовать объект
event.
Это возможно потому, что когда браузер из атрибута создаёт функцию-обработчик, то она выглядит так: f
unction(event) { alert(event.type) }.
То есть, её первый аргумент называется "event", а тело взято из атрибута.
#браузер #документ #события7 368
5 вещей, которые должен уметь каждый:
— Уметь обходить любые блокировки
— Узнавать пароль к любой Wi-Fi сети
— Смотреть платный контент без подписки
— Находить людей в сети по фото
— Создавать уникальные тексты с помощью нейросети
Если вы об этом не знали, загляните на "Не баг, а фича". Это самый известный IT-канал в Telegram: ребята поясняют за горячие клавиши, делятся полезными онлайн-инструментами и рассказывают как заставить нейронку делать всю работу за вас.
Баги Instagram и YouTube, сайты с бесплатными приложениями, секретные функции iOS и Windows — лишь малая часть того, что вы найдете внутри.
Всё гораздо проще, чем вы думаете. Надо только знать, где искать информацию, а это место мы уже нашли за вас. Вам осталось только подписаться — "Не баг, а фича"
7 368
Основные свойства объекта event
event.type — тип события, в данном случае "click".
event.currentTarget — элемент, на котором сработал обработчик. Значение – обычно такое же, как и у this, но если обработчик является функцией-стрелкой или при помощи bind привязан другой объект в качестве this, то мы можем получить элемент из event.currentTarget.
event.clientX / event.clientY — координаты курсора в момент клика относительно окна, для событий мыши.
#браузер #документ #события7 368
Одно из главных в обучении фронтенд-разработке — это непрерывная практика и навыки, нужные бизнесу.
Чем раньше вы нырнёте с головой в продакшен, тем быстрее почувствуете себя уверенно на рынке труда.
Изучите JavaScript, HTML и CSS, фреймворки React+Redux Toolkit и сопутствующую инфраструктуру на реальных кейсах, наполните портфолио готовыми веб-приложениями и пройдите оплачиваемую стажировку в проектах IT-кластера Ростелеком.
65% выпускников Хекслет получают оффер на первых 5 собеседованиях!
Начните учиться прямо сейчас, чтобы оценить формат.
7 368
Объект события
Чтобы хорошо обработать событие, могут понадобиться детали того, что произошло. Не просто «клик» или «нажатие клавиши», а также – какие координаты указателя мыши, какая клавиша нажата и так далее.
Когда происходит событие, браузер создаёт объект события, записывает в него детали и передаёт его в качестве аргумента функции-обработчику.
Пример выше демонстрирует получение координат мыши из объекта события.
#браузер #документ #события
7 368
Обработчики некоторых событий можно назначать только через addEventListener
Существуют события, которые нельзя назначить через DOM-свойство, но можно через
addEventListener.
Например, таково событие DOMContentLoaded, которое срабатывает, когда завершена загрузка и построение DOM документа.
Так что addEventListener более универсален. Хотя заметим, что таких событий меньшинство, это скорее исключение, чем правило.
#браузер #документ #события7 368
Лучшие вакансии для фронтенд разработчиков и точка
Специально для Вас, собираем топовые вакансии по фронтенду на канале @job_frontend. Подпишись чтобы не упустить свой шанс получить лучший оффер!
7 368
Удаление требует именно ту же функцию
Для удаления нужно передать именно ту функцию-обработчик которая была назначена.
Первый вариант не сработает, т.к. в
removeEventListener передана не та же функция, а другая, с одинаковым кодом, но это не важно.
Обратим внимание – если функцию обработчик не сохранить где-либо, мы не сможем её удалить. Нет метода, который позволяет получить из элемента обработчики событий, назначенные через addEventListener.
#браузер #документ #события7 368
removeEventListener
Удаляет обработчик события, который был зарегистрирован при помощи
EventTarget.addEventListener(). Обработчик определяется типом события, самой функцией обработки события, и дополнительными параметрами, переданными при регистрации обработчика.
#браузер #документ #события7 368
Знакомо чувство, когда сайт сделан, все работает, как ты хочешь, но проверяешь этот сайт в Lighthouse или Google PageSpeed Insights и видишь желтые или того хуже красные цифры? Ещё страшнее, когда в эти цифры тебя тыкает заказчик или руководитель проекта, или вообще твой прямой начальник. Стыдно, страшно, и потом неделю исправляешь.
А вот создатели канала perfScan разбираются в скорости загрузки сайтов, так как на коммерческой основе уже 5 лет консультируют в теме WEB Performance, ускоряют сайты и разрабатывают быстрые сайты самостоятельно.
Подписывайся на канал, и получай примеры кода, готовые разработки, кучу лайфхаков и полезных мелочей, внедрив которые сайт станет заметно быстрее. Кроме того, авторы активно отвечают на комментарии, где можно задать вопрос, или попросить их разобрать свой проект.
Подписывайся: @perfScan
7 368
Свойство «hidden»
Атрибут и DOM-свойство «hidden» указывает на то, видим ли мы элемент или нет.
Мы можем использовать его в HTML или назначать при помощи JavaScript, как в примере ниже (см. пример выше на картинке).
Технически,
hidden работает так же, как style="display:none". Но его применение проще.
#браузер #документ #свойства_узлов