javascript - IE8 对象不支持该属性或方法

标签 javascript css internet-explorer-8 modernizr

<分区>

我正在尝试为 Dave Dessandro 的卡片翻转脚本制作 IE 回退 https://desandro.github.io/3dtransforms/docs/card-flip.html到目前为止,它适用于除 8 以外的每个 IE 版本。它抛出代码错误:

IE8 object does not support this property or method 

错误似乎出现在这行代码中:

document.getElementById("info").addEventListener( "click", function(){

完整的函数在这里:

// Assign click action to flip card question
document.getElementById("info").addEventListener( "click", function(){
    card.toggleClassName("flipped");
    }, false);
};

我看不出问题是什么?有什么我想念的吗?完整代码见https://github.com/SLQ-web/Fauna/blob/Koala/js/card-flip.js

这只是 IE8 拒绝做的事情吗?对于支持 preserve3d 和 csstransform 的浏览器,这是一个以 3D 方式翻转卡片的开关。对于其他较旧的浏览器,它只是显示和隐藏图像。已使用 Modernizr 设置目标类。

最佳答案

IE8 不支持addEventListener。您可以改用事件处理程序:

document.getElementById("info").onclick = function() {
  card.toggleClassName("flipped");
};

或者,如果你真的需要事件监听器,IE8 有一个非标准的 attachEvent:

document.getElementById("info").attachEvent('onclick', function() {
  card.toggleClassName("flipped");
});

关于javascript - IE8 对象不支持该属性或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37957184/

上一篇:html - 扩展 float div 高度以填充父 div

下一篇:html - 网站的一部分不适合布局

相关文章:

javascript - jQuery slick.js 轮播 : add items w/o changing current element

internet-explorer - 在 <h1> 之后对具有特定类的元素应用填充

javascript - 计算字符串中模式出现的总数

javascript - 在 jquery 中的 textarea 上触发更改事件

CSS 图像未在 ASP.NET MVC 中显示

html - 文字和图片在同一行

css-selectors - 将伪类的效果应用于类的所有成员

javascript - 提交表单时,IE8 不会向请求添加除输入之外的属性

java - Selenium2 的 Select 对象不会在 IE8 中触发 onchange 事件

javascript - 高效的实时 HTML 表格