IE8对象不支持此属性或方法

时间:2016-06-22 01:39:45

标签: javascript css3 internet-explorer-8 modernizr

我正在尝试为Dave Dessandro的卡片翻转脚本https://desandro.github.io/3dtransforms/docs/card-flip.html制作一个IE后备版本,到目前为止我已经为每个IE版本工作了,除了8个。它抛出了代码错误:

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设置目标类。

1 个答案:

答案 0 :(得分:1)

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

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

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

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