我正在尝试为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设置目标类。
答案 0 :(得分:1)
IE8不支持addEventListener
。您可以改为使用事件处理程序:
document.getElementById("info").onclick = function() {
card.toggleClassName("flipped");
};
或者,如果你真的需要事件监听器,IE8有一个非标准的attachEvent
:
document.getElementById("info").attachEvent('onclick', function() {
card.toggleClassName("flipped");
});