GlobalEventHandlers.onauxclick

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

 

The onauxclick property is an EventHandler called when an auxclick event is sent, indicating that a non-primary button has been pressed on an input device (e.g. a middle mouse button).

This property is implemented as part of a plan to improve compatibility between browsers with regards to button behaviours — event behaviour is being updated so that click only fires for primary button clicks (e.g. left mouse button). Developers can then use auxclick to provide explicit behaviour for non-primary button clicks. Previous to this, click generally fired for clicks on all input device buttons, and browser behaviour was somewhat inconsistent.

Syntax

element.onauxclick = functionRef(e);

The event handler function is a MouseEvent object. Apart from the button(s) the event is fired on, the behaviour is exactly the same.

Example

In this example we define two event handler functions — onclick and onauxclick. The former changes the color of the button background, while the latter changes the button foreground (text) color. You can see the two functions in action by trying the demo out with a multi-button mouse (see it live on GitHub; also see the source code).

var button = document.querySelector('button');
var html = document.querySelector('html');
function random(number) {
  return Math.floor(Math.random() * number);
}
button.onclick = function() {
  var rndCol = 'rgb(' + random(255) + ',' + random(255) + ',' + random(255) + ')';
  button.style.backgroundColor = rndCol;
};
button.onauxclick = function() {
  var rndCol = 'rgb(' + random(255) + ',' + random(255) + ',' + random(255) + ')';
  button.style.color = rndCol;
}

Note: If you are using a three-button mouse, you'll notice that the onauxclick handler is run when either of the non-left mouse buttons are clicked.

Notes

The click event is raised when the user clicks on an element. The click event will occur after the mousedown and mouseup events.

Only one click handler can be assigned to an object at a time with this property. You may be inclined to use the EventTarget.addEventListener() method instead, since it is more flexible and part of the DOM Events specification.

Specification

onauxclick is not part of any official specification yet; the definition can be found in the auxclick Draft Community Group Report.

Browser Compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support ? 53 (53) No support ? No support
Feature Android Android Webview Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support ? ? 53 (53) ? No support No support

Document Tags and Contributors

 Contributors to this page: chrisdavidmills
 Last updated by: chrisdavidmills,