【问题标题】:IE11 ignores javascript matchMedia event listenerIE11 忽略 javascript matchMedia 事件监听器
【发布时间】:2015-03-29 07:10:05
【问题描述】:

我正在使用以下 Javascript 代码来捕捉视口宽度的变化,然后在视口超过最小阈值时添加事件侦听器。

 var y=window.matchMedia("(min-width: 500px)");
 y.addListener(changeWidth);
 changeWidth(y);

该代码适用于除 IE11 之外的所有浏览器,它会忽略它。 http://caniuse.com 网站说 IE11 支持 window.matchMedia 功能。什么给了?

【问题讨论】:

  • 您的控制台是否出现任何错误?
  • @Colwyn 什么都没有。我输入了一个 alert() 跟踪,但它并没有告诉我太多。
  • 尝试在其中粘贴console.log(y),看看会出现什么对象。可能有 addlistener 的方法或原型

标签: javascript responsive-design event-handling internet-explorer-11


【解决方案1】:

我从某处网站上提取了原始代码,但它是一种速记方法,IE11 无法将其识别为有效代码。

所有浏览器的正确代码是:

 var y=window.matchMedia("screen and (min-width: 500px)");
 y.addListener(changeWidth);
 changeWidth(y);

我从 Mozilla 网站获得了原始代码:https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia。当心!

【讨论】:

  • 这个问题好像已经解决了。自 2015 年 3 月 31 日起,IE11 接受简写代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-21
  • 1970-01-01
  • 1970-01-01
  • 2016-08-26
  • 2012-09-13
  • 2013-07-21
  • 2011-05-23
相关资源
最近更新 更多