2016-06-22 209 views
0

我正在尝试为Dave Dessandro的卡片翻转脚本https://desandro.github.io/3dtransforms/docs/card-flip.html做一个IE备份,至此我已经为除8之外的每个IE版本工作。它抛出代码错误:IE8对象不支持此属性或方法

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的浏览器的翻转卡。对于其他较旧的浏览器,它只显示并隐藏图像。使用Modernizr设置目标类。

回答

1

IE8不支持addEventListener。您可以使用事件处理程序来代替:

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

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

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

感谢您的快速忠告。我会立即执行并检查。 –

+0

谢谢,似乎解决了这个问题,但我不知道如何重写这段代码:'window.addEventListener('DOMContentLoaded',init,false);'。我试着用jQuery来做,但它不起作用。 –

+0

IE8不支持'DOMContentLoaded'。 – Oriol

相关问题