Spec-Zone.ru › Web APIs

Элемент: событие auxclick

Событие auxclick срабатывает в Element, когда кнопка неглавного указателя (любая кнопка мыши, кроме главной — обычно левая) нажата и отпущена в рамках одного и того же элемента.

auxclick срабатывает после событий mousedown и mouseup в указанном порядке.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика события.

addEventListener("auxclick", (event) => {});

onauxclick = (event) => {};

Тип события

Тип PointerEvent. Наследует от MouseEvent.

Событие UIEvent MouseEvent PointerEvent

Примечание: В ранних версиях спецификации тип события для этого события был MouseEvent. См. совместимость с браузерами для получения дополнительной информации.

Свойства события

Этот интерфейс наследует свойства от MouseEvent и Event.

PointerEvent.altitudeAngle Только для чтения Экспериментальная

Представляет угол между осью датчика (указателя или стилуса) и плоскостью X-Y экрана устройства.

PointerEvent.azimuthAngle Только для чтения Экспериментальная

Представляет угол между плоскостью Y-Z и плоскостью, содержащей ось датчика (указателя или стилуса) и ось Y.

PointerEvent.pointerId Только для чтения

Уникальный идентификатор указателя, вызвавшего событие.

PointerEvent.width Только для чтения

Ширина (величина по оси X) в пикселях CSS геометрии контакта указателя.

PointerEvent.height Только для чтения

Высота (величина по оси Y) в пикселях CSS геометрии контакта указателя.

PointerEvent.pressure Только для чтения

Нормализованное давление ввода указателя в диапазоне 0 до 1, где 0 и 1 представляют минимальное и максимальное давление, которое может обнаружить оборудование, соответственно.

PointerEvent.tangentialPressure Только для чтения

Нормализованное касательное давление ввода указателя (также известное как боковое давление или напряжение цилиндра) в диапазоне -1 до 1, где 0 — нейтральное положение управления.

PointerEvent.tiltX Только для чтения

Угол плоскости (в градусах, в диапазоне от -90 до 90) между плоскостью Y-Z и плоскостью, содержащей ось указателя (например, пера-стилуса) и ось Y.

PointerEvent.tiltY Только для чтения

Угол плоскости (в градусах, в диапазоне от -90 до 90) между плоскостью X-Z и плоскостью, содержащей ось указателя (например, пера-стилуса) и ось X.

PointerEvent.twist Только для чтения

Повороты указателя (например, пера-стилуса) по часовой стрелке вокруг его главной оси в градусах, со значением в диапазоне от 0 до 359.

PointerEvent.pointerType Только для чтения

Указывает тип устройства, вызвавшего событие (мышь, ручка, сенсорный экран и т. д.).

PointerEvent.isPrimary Только для чтения

Указывает, представляет ли указатель основной указатель данного типа указателя.

Предотвращение стандартных действий

В подавляющем большинстве браузеров, которые сопоставляют средний клик с открытием ссылки в новой вкладке, включая Firefox, можно отменить это поведение, вызвав preventDefault() внутри обработчика события auxclick.

При прослушивании событий auxclick, исходящих от элементов, которые не поддерживают ввод или навигацию, вы часто захотите явно предотвратить другие стандартные действия, сопоставленные с нажатием средней кнопки мыши. В Windows это обычно автопрокрутка, а в macOS и Linux — обычно вставка из буфера обмена. Это можно сделать, предотвратив стандартное поведение события mousedown или pointerdown.

Кроме того, вам может потребоваться предотвратить открытие системного контекстного меню после правого клика. Из-за различий во времени работы на разных операционных системах это также не является стандартным действием, которое можно предотвратить в событии auxclick. Вместо этого это можно сделать, предотвратив стандартное поведение события contextmenu.

Примеры

В этом примере мы определяем функции для двух обработчиков событий — onclick и onauxclick. Первый изменяет цвет фона кнопки, а второй — цвет текста кнопки. Вы также можете увидеть две функции в действии, попробовав демонстрацию с многокнопочной мышью (посмотреть в GitHub; также посмотреть исходный код).

JavaScript

let button = document.querySelector("button");
let html = document.querySelector("html");

function random(number) {
  return Math.floor(Math.random() * number);
}

function randomColor() {
  return `rgb(${random(255)} ${random(255)} ${random(255)})`;
}

button.onclick = () => {
  button.style.backgroundColor = randomColor();
};

button.onauxclick = (e) => {
  e.preventDefault();
  button.style.color = randomColor();
};

button.oncontextmenu = (e) => {
  e.preventDefault();
};

Обратите внимание, что помимо захвата события auxclick с помощью onauxclick, также захватывается событие contextmenu и вызывается preventDefault() для этого события, чтобы предотвратить появление контекстного меню после применения изменения цвета.

HTML

<button><h1>Click me!</h1></button>

Примечание: Если вы используете мышь с тремя кнопками, вы заметите, что обработчик onauxclick запускается при нажатии любой кнопки мыши, кроме левой (включая любые «специальные» кнопки на игровых мышах).

Спецификации

Спецификация
События пользовательского интерфейса
# event-type-auxclick
HTML
# handler-onauxclick

Совместимость с браузерами

Рабочие столы Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
auxclick_event 55 79
53Начиная с Firefox 68, событие auxclick используется для запуска действия «новая вкладка при среднем клике»; ранее это делалось с помощью события click. Приложения могут предотвратить открытие новой вкладки при среднем клике (или средний клик для вставки, если эта функция включена) путем перехвата события auxclick по ссылкам, а обработчики события auxclick теперь могут открывать всплывающие окна без запуска блокировщика всплывающих окон.
42 18.2 55 53 42 18.2 6.0 55
type_pointerevent 92 92 Нет 78 Нет 92 Нет 65 Нет 16.0 92

См. также

  • Урок: Введение в события
  • click
  • contextmenu
  • dblclick
  • mousedown
  • mouseup
  • pointerdown
  • pointerup

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Element/auxclick_event

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API