MediaQueryList.addListener()

The addListener() method of the MediaQueryList interface adds a listener to the MediaQueryListener that will run a custom callback function in response to the media query status changing.

This is basically an alias of EventTarget.addEventListener(), for backwards compatibility purposes. Older browsers should use addListener instead of addEventListener since MediaQueryList only inherits from EventTarget in newer browsers.

Syntax

MediaQueryList.addListener(func)

Parameters

func
A function or function reference representing the callback function you want to run when the media query status changes.

Return value

Void.

Example

var paragraph = document.querySelector('p');
var mediaQueryList = window.matchMedia('(max-width: 600px)');

function screenTest(e) {
  if (e.matches) {
    /* the viewport is 600 pixels wide or less */
    paragraph.textContent = 'This is a narrow screen — 600px wide or less.';
    document.body.style.backgroundColor = 'pink';
  } else {
    /* the viewport is more than than 600 pixels wide */
    paragraph.textContent = 'This is a wide screen — more than 600px wide.';
    document.body.style.backgroundColor = 'aquamarine';
  }
}

mediaQueryList.addListener(screenTest);

Specifications

Specification Status Comment
CSS Object Model (CSSOM) View Module
The definition of 'addListener' in that specification.
Working Draft Initial definition

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
addListener()Chrome Full support 9Edge Full support 12Firefox Full support 6IE Full support 10Opera Full support 12.1Safari Full support 5.1
Notes
Full support 5.1
Notes
Notes Prior to Safari 14, MediaQueryList is based on EventTarget, so you must use addListener() and removeListener() to observe media query lists.
WebView Android Full support YesChrome Android Full support 18Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support 5
Notes
Full support 5
Notes
Notes Prior to Safari 14, MediaQueryList is based on EventTarget, so you must use addListener() and removeListener() to observe media query lists.
Samsung Internet Android Full support 1.0

Legend

Full support  
Full support
See implementation notes.
See implementation notes.

See also