我正在尝试使用matchMedia / mediaQuery Web Api - 我可以成功添加一个监听器,但我无法删除监听器。
我错过了什么?
这个code demonstrates问题 - 尝试打印页面 - 注意即使你不应该在控制台中登录TEST,
var test=function(){
console.log("TEST")
}
window.matchMedia('print').addListener(test);
window.matchMedia('print').removeListener(test);
我已经过测试,这种情况发生在Chrome和Safari上
答案 0 :(得分:7)
您每次都在创建新的媒体查询列表,因此您无法从第一个查询中删除该侦听器。
var m = window.matchMedia('print');
m.addListener(test);
m.removeListener(test);