addListener()
方法在
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 for
EventTarget.addEventListener()
, for backwards compatibility purposes. Older browsers should use
addListener
而不是
addEventListener
since MediaQueryList only inherits from EventTarget in newer browsers.
MediaQueryList.addListener(func)
MediaQueryListListener
object. In the new implementation the standard event mechanism is used, the callback is a standard function, and the event object is a
MediaQueryListEvent
, which inherits from
事件
.
Void.
var para = document.querySelector('p');
var mql = window.matchMedia('(max-width: 600px)');
function screenTest(e) {
if (e.matches) {
/* the viewport is 600 pixels wide or less */
para.textContent = 'This is a narrow screen — less than 600px wide.';
document.body.style.backgroundColor = 'red';
} else {
/* the viewport is more than than 600 pixels wide */
para.textContent = 'This is a wide screen — more than 600px wide.';
document.body.style.backgroundColor = 'blue';
}
}
mql.addListener(screenTest);
| 规范 | 状态 | 注释 |
|---|---|---|
|
CSSOM (CSS 对象模型) 视图模块
The definition of 'addListener' in that specification. |
工作草案 | 初始定义 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
addListener()
|
Chrome 9 | Edge 12 | Firefox 6 | IE 10 | Opera 12.1 |
Safari
5.1
|
WebView Android Yes | Chrome Android 18 | Firefox Android Yes | Opera Android Yes |
Safari iOS
5
|
Samsung Internet Android 1.0 |
完整支持
见实现注意事项。
MediaQueryList
addListener()
removeListener()
AnimationEvent
CSS
CSSConditionRule
CSSGroupingRule
CSSKeyframeRule
CSSKeyframesRule
CSSMediaRule
CSSNamespaceRule
CSSPageRule
CSSRule
CSSRuleList
CSSStyleDeclaration
CSSStyleRule
CSSStyleSheet
CSSSupportsRule
CaretPosition
LinkStyle
MediaQueryListListener
Screen
StyleSheet
StyleSheetList
TransitionEvent