2016-06-22 141 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

相關問題