JS властивість Event.metaKey (Mouse)


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

metaKey — це властивість об’єкта MouseEvent в JavaScript, яка повертає булеве значення true або false, вказуючи, чи була натиснута клавіша Meta (зазвичай Cmd на Mac або Win на Windows) під час події миші. Властивість корисна для обробки подій, де Meta використовується як модифікатор дій миші, що дозволяє реалізувати кастомні комбінації або розширені функції.

При натисканні клавіші Meta разом із дією миші, як-от кліком, event.metaKey повертає true, що дозволяє змінювати поведінку обробника подій залежно від стану цієї клавіші. Це особливо корисно у випадках, коли необхідно підтримувати різні команди або шляхи взаємодії в додатку. Наприклад, у графічних редакторах чи текстових процесорах metaKey може додавати додаткові функції до кліків, як-от масштабування чи відкриття контекстного меню.

document.addEventListener('click', (event) => {
  if (event.metaKey) {
    console.log('Натиснуто Meta + клік');
  } else {
    console.log('Звичайний клік');
  }
});

У цьому прикладі перевіряється, чи була натиснута Meta під час кліку. Якщо так, то виводиться повідомлення про комбінацію Meta + клік. Якщо ж Meta не натиснута, виконується стандартна дія.

metaKey працює разом із подіями миші, такими як click, dblclick, mousedown, та іншими. Хоча ця властивість доступна і на Windows, де Meta асоціюється з клавішею Win, основне її застосування на платформах Apple, де Meta — це Cmd. На різних платформах значення metaKey може дещо відрізнятися за поведінкою, тому варто бути уважним при розробці кросплатформених додатків.

автор: Bond

Порада

Для реалізації кросплатформенних додатків ураховуйте, що на Windows metaKey відповідає клавіші Win. Це дозволяє перевіряти, чи працює функція на різних платформах однаково, наприклад, при обробці клавіші Win у десктопних додатках.

автор: Bond
Порада

metaKey можна використовувати в поєднанні з іншими модифікаторами, такими як ctrlKey, shiftKey, і altKey, для складніших комбінацій. Це дозволяє створювати унікальні команди, наприклад, Meta+Shift+Click.

автор: Bond
Порада

Зважайте, що не всі браузери однаково обробляють metaKey, особливо на старих версіях Windows, де її можуть взагалі не підтримувати. Це важливо враховувати для сумісності, коли користувачі можуть мати застарілі системи.

автор: Bond

Синтаксис

event.metaKey

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1.5 1 12.1 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
37 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
- -

Приклади

+ запропонувати свій приклад у пісочниці

Цей приклад демонструє, як використовувати metaKey з подією подвійного кліку. Натискання Meta при подвійній дії може активувати додатковий режим, наприклад, режим редагування в графічному або текстовому редакторі.

document.addEventListener('dblclick', (event) => {
  if (event.metaKey) {
    console.log('Активовано режим редагування подвійним кліком із Meta');
    // Логіка для входу в режим редагування
  }
});
автор: Bond

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

document.addEventListener('contextmenu', (event) => {
  if (event.metaKey) {
    event.preventDefault();
    console.log('Відкрито спеціальне контекстне меню Meta + Правий клік');
    // Логіка для спеціального контекстного меню
  }
});
автор: Bond

Цей код додає обробник події click до кнопки. Якщо під час кліку натиснута клавіша Meta, виводиться повідомлення про спеціальну дію; якщо ні — відображається повідомлення про стандартну дію. Це дозволяє користувачам з Mac використовувати Cmd як модифікатор для виконання додаткових команд, що може бути корисним у додатках з кастомними гарячими клавішами або специфічними комбінаціями.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід