Тип события мыши | auxclick |
---|---|
Интерфейс | MouseEvent |
Синх / Асин | Синхронный |
Всплытие | Да |
Надежные цели | Element |
Отменяемый | Да |
Сдержанный | Да |
Действие по умолчанию | Различное |
Контекст (доверенные события) | Event.target : самая верхняя цель события |
UIEvent.view : Window | |
UIEvent.detail : указывает текущий счетчик кликов; значение атрибута ДОЛЖНО быть 1, когда пользователь начинает это действие, и увеличивается на 1 для каждого клика. | |
MouseEvent.screenX : значение, основанное на положении указателя на экране | |
MouseEvent.screenY : значение, основанное на положении указателя на экране | |
MouseEvent.clientX : значение основано на позиции указателя в области просмотра | |
MouseEvent.clientY : значение основано на позиции указателя в области просмотра | |
MouseEvent.altKey : true, если модификатор Alt был активен, иначе false | |
MouseEvent.ctrlKey : true, если модификатор Control был активен, иначе false | |
MouseEvent.shiftKey : true, если модификатор Shift был активен, иначе false | |
MouseEvent.metaKey : true, если Meta-модификатор был активен, иначе false | |
MouseEvent.button : значение на основе текущей нажатой кнопки | |
MouseEvent.buttons : значение основано на всех нажатых в данный момент кнопках, 0, если не нажата ни одна | |
MouseEvent.relatedTarget : null |
Тип события auxclick ДОЛЖЕН быть отправлен на самую верхнюю цель события, обозначенную указателем, когда пользователь нажимает и отпускает кнопку неосновного указателя, или иным образом активирует указатель таким образом, который имитирует такое действие. Способ приведения в действие кнопки мыши зависит от устройства указателя и конфигурации среды, например, он МОЖЕТ зависеть от местоположения экрана или задержки между нажатием и отпусканием кнопки указательного устройства.
Событие auxclick должно запускаться только для неосновных кнопок указателя (т. е. когда значение кнопки button не равно «0«, значение buttons больше «1«). Основная кнопка (как и левая кнопка стандартной мыши) НЕ ДОЛЖНА запускать события auxclick. Смотрите click для соответствующего события, связанного с основной кнопкой.
Событию auxclick МОЖЕТ предшествовать события mousedown и mouseup на одном и том же элементе, независимо от изменений между другими типами узлов (например, текстовыми узлами). В зависимости от конфигурации среды, событие auxclick МОЖЕТ быть отправлено, если между нажатием и отпусканием кнопки указательного устройства происходит одно или несколько событий типа mouseover, mousemove и mouseout.
Действие по умолчанию для типа события auxclick варьируется в зависимости от цели события и значения атрибутов button или buttons. Типичные действия по умолчанию для типа события auxclick следующие:
- Если цель события имеет ассоциированное поведение активации, действие по умолчанию ДОЛЖНО состоять в том, чтобы выполнить это поведение активации (см. §3.5 Триггеры активации и поведение).
Пример № 8
Получение и обработка auxclick для средней кнопки.
myLink.addEventListener("auxclick", function(e) { if (e.button === 1) { // Это предотвратит поведение по умолчанию, например, открытие новой вкладки при среднем нажатии на ссылку.
e.preventDefault(); // Сделайте что-нибудь еще, чтобы обработать щелчок средней кнопкой, например, позаботиться об открытии ссылок или кнопок без ссылок в новых вкладках таким образом, чтобы это соответствовало приложению. Другие действия, такие как закрытие вкладки в полосе вкладок, которая должна выполняться при нажатии, также могут быть выполнены здесь. } });
В случае правой кнопки событие auxclick отправляется после любого события contextmenu. Обратите внимание, что некоторые пользовательские агенты проглатывают все входные события во время отображения контекстного меню, поэтому auxclick может быть недоступен для приложений в таких сценариях. Посмотрите этот пример для получения дополнительной информации.
Пример № 9
Получение и обработка auxlick для правой кнопки
myDiv.addEventListener("contextmenu", function(e) { // Этот вызов гарантирует, что никакое контекстное меню не показывается, чтобы помешать странице, получающей события.
e.preventDefault(); });
myDiv.addEventListener("auxclick", function(e) { if (e.button === 2) { // Сделайте что-нибудь еще, чтобы обработать щелчок правой кнопкой, например, открыть настроенное контекстное меню внутри приложения. } });
События MouseEvent
Типы событий пользовательского интерфейса MouseEvent
Полная версия документа на русском языке
UI Events | События пользовательского интерфейса