2016-06-22 14 views
0

Dave Dessandroのカードフリップスクリプトhttps://desandro.github.io/3dtransforms/docs/card-flip.htmlのIEフォールバックを作成しようとしていますが、これまでのIEバージョンでは8を除いてすべて動作しています。コードエラー: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をサポートするブラウザ用の3Dでカードを反転させるトグルです。他の古いブラウザでは、画像を表示したり隠したりするだけです。 Modernizrを使用して、対象となるクラスを設定しました。

答えて

1

IE8はaddEventListenerをサポートしていません。あなたが代わりにイベントハンドラを使用することができます。アドバイスの迅速な部分のため

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

ありがとう:あなたは本当にイベントリスナーが必要な場合は、

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

をそれとも、IE8はattachEvent非標準を持っています。私は今それを実装し、チェックします。 –

+0

この問題を解決したようですが、このコードを書き換える方法はわかりません: 'window.addEventListener(' DOMContentLoaded '、init、false);'私はjQueryでやってみましたが動作しません。 –

+0

IE8は 'DOMContentLoaded'をサポートしていません。 – Oriol