IE8 での addEventListener の互換性の問題
addEventListener は広く採用されているにもかかわらず、特定のブラウザのバージョン、特に Internet Explorer 8 では制限があります。 IE8 でイベント ハンドラーを動的に実装するときにこの問題が発生した場合は、次の解決策を検討してください:
問題の理解:
最新のブラウザーで広くサポートされているイベント リスナーである addEventListener は、互換性の問題に直面しています。 Internet Explorer 8 の問題。チェックボックスを作成し、addEventListener を使用してイベント リスナーをアタッチするために指定したコードが、IE8 で失敗する場合があります。
解決策:
問題を解決するにはIE8 では、古いバージョンの Internet Explorer でサポートされている addEventListener の代わりに、attachEvent メソッドを使用できます。変更されたコードは次のようになります。
if (_checkbox.addEventListener) { _checkbox.addEventListener("click", setCheckedValues, false); } else { _checkbox.attachEvent("onclick", setCheckedValues); }
説明:
if-else ステートメントは、_checkbox 要素内の addEventListener が使用可能かどうかをチェックします。存在する場合は、addEventListener が使用されます。それ以外の場合は、attachEvent を使用して onclick イベント ハンドラーをチェックボックスに付加します。
注:
最新のブラウザでは addEventListener を使用し、IE バージョンより前のバージョンではattachEvent を使用することが重要です。 IE9まで。これにより、異なるブラウザ バージョン間での互換性が確保されます。
以上がInternet Explorer 8 での addEventListener 互換性の問題を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。