The onchange property of the MediaQueryList interface is an event handler property representing a function that is invoked when the change event fires, i.e when the status of media query support changes. The event object is a MediaQueryListEvent instance, which is recognized as a MediaListQuery instance in older browsers, for backwards compatibility purposes.


MediaQueryList.onchange = function() { ... };


var mql = window.matchMedia('(max-width: 600px)');

mql.onchange = (e) => {
    if (e.matches) {
    /* the viewport is 600 pixels wide or less */
    console.log('This is a narrow screen — less than 600px wide.')
  } else {
    /* the viewport is more than than 600 pixels wide */
    console.log('This is a wide screen — more than 600px wide.')


CSSOM View Module (CSSOM View)
# dom-mediaquerylist-onchange

Browser compatibility

BCD tables only load in the browser

See also