Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

JS метод Event.getModifierState (MouseEvent)()

Загальний опис

getModifierState – це метод об’єкта MouseEvent, що використовується для перевірки, чи була натиснута певна модифікаторна клавіша, коли відбулася подія миші. Модифікаторні клавіші – це клавіші Shift, Control, Alt і Meta (на деяких платформах це Command на MacOS). Вказавши одну з цих клавіш як аргумент, getModifierState повертає true, якщо вказана клавіша активна під час події, і false в іншому випадку.

Метод використовується для того, щоб визначити контекстні дії, які залежать від натискання певних клавіш, наприклад, розширений вибір елементів або зміна функціональності при натисканні миші. Наприклад, якщо потрібно відрізнити звичайний клік від кліку з натиснутою клавішею Ctrl, метод getModifierState допоможе визначити, чи була ця клавіша натиснута.

document.addEventListener('click', function(event) {
   if (event.getModifierState('Shift')) {
       console.log('Shift була натиснута під час кліку.');
   }
});

У прикладі вище, під час кожного кліку мишею буде перевірятися, чи була натиснута клавіша Shift. Якщо так, в консоль виводиться повідомлення. Доступні ключові значення, які приймає метод: Shift, Control, Alt, Meta, а також менш відомі, як CapsLock і NumLock. Можна передати й інші значення, проте для неіснуючих клавіш метод завжди поверне false.

Цей метод працює в поєднанні з подіями миші, що мають ключову інформацію про модифікаторні клавіші. Наприклад, mousedown, mouseup і click також підтримують виклики getModifierState, що дозволяє створювати розширені умови для реакції на події миші. Метод є особливо корисним для кастомізації інтерфейсів користувача і розробки додаткових функцій, що базуються на поведінці користувача.

Порада:

Модифікаторні клавіші можуть не працювати так само у всіх браузерах, особливо Meta, яка може вказувати на клавішу "Command" на Mac, але бути неактивною на Windows. Пам’ятайте про ці відмінності при написанні крос-браузерного коду.

Порада:

Якщо ви працюєте з комбінаціями клавіш, спершу перевірте кілька модифікаторних клавіш одночасно. Наприклад, щоб дізнатись, чи були натиснуті Ctrl та Shift разом, викличте метод для обох і порівняйте результати.

Порада:

Використовуйте цей метод разом з подіями keydown та keyup, щоб відстежувати послідовність натискань. Це дає змогу побудувати кастомні комбінації клавіш, які виконують специфічні дії при натисканні.

Синтаксис

event.getModifierState(key)

Параметри

Return

boolean

Повертає булеве значення (true або false), яке вказує на те, чи була конкретна клавіша-модифікатор (наприклад, Shift, Control, Alt або Meta) активною під час події. Якщо зазначена клавіша була натиснута в момент виникнення події, результат буде true; якщо ні – false.

Переглядачі

Переглядач

1

1.5

1

12.1

12

Переглядач

37

18

4

1

Переглядач

-

-

Приклади


Цей код створює інтерактивну кнопку, яка змінює результат виведення на основі натиснутої модифікаторної клавіші (Shift, Ctrl або Alt). Користувач може натискати кнопку з різними клавішами-модифікаторами, і текст у блоці результату змінюється залежно від того, яка клавіша була натиснута. Це зручно для демонстрації змін поведінки на одній кнопці, що може бути корисно при розробці додатків з багатофункціональними кнопками.

У цьому прикладі ми відстежуємо рух курсора з натиснутою клавішею Control. Це корисно, коли потрібно дати користувачу можливість утримувати Ctrl для альтернативної поведінки під час переміщення миші.

document.addEventListener('mousemove', function(event) {
   if (event.getModifierState('Control')) {
       console.log('Курсор переміщується з натиснутою Ctrl');
   }
});

Тут обробляється клік миші, якщо користувач одночасно натискає Shift і Alt. Це дозволяє створити складніші взаємодії з UI, наприклад, для виклику додаткових функцій або налаштувань лише при певній комбінації клавіш і миші.

document.addEventListener('click', function(event) {
   if (event.getModifierState('Shift') && event.getModifierState('Alt')) {
       console.log('Клік з комбінацією Shift+Alt');
   }
});