ホームページ  >  記事  >  ウェブフロントエンド  >  Internet Explorer 8 で「addEventListener」が動作しないのはなぜですか?

Internet Explorer 8 で「addEventListener」が動作しないのはなぜですか?

DDD
DDDオリジナル
2024-10-26 20:04:02800ブラウズ

Why Isn't My `addEventListener` Working in Internet Explorer 8?

Internet Explorer 8 の addEventListener 互換性の問題

Internet Explorer 8 の addEventListener メソッドで問題が発生しましたか?もう心配する必要はありません。解決策は次のとおりです。

チェックボックスを動的に作成し、それにイベント リスナーを割り当て、クリック時に関数がトリガーされることを期待しました。これは Chrome や Firefox などの最新のブラウザでは問題なく動作しますが、Internet Explorer 8 では問題なく動作します。

心配しないでください。解決策は addEventListener のブラウザ互換性を認識することにあるからです。 IE9 より前のバージョンの Internet Explorer の場合は、attachEvent メソッドが最適です。コードを次のように変更します。

if (_checkbox.addEventListener) {
    _checkbox.addEventListener("click", setCheckedValues, false);
}
else {
    _checkbox.attachEvent("onclick", setCheckedValues);
}

この条件チェックにより、IE8 と他のブラウザの両方との互換性が保証されます。 addEventListener はそれをサポートするブラウザに使用され、attachEvent は IE9 より前のバージョンの Internet Explorer を引き継ぎます。

IE9 より前のバージョンの Internet Explorer では、イベント登録にはattachEvent が推奨される方法であるのに対し、addEventListener は最新のブラウザにより適しています。

以上がInternet Explorer 8 で「addEventListener」が動作しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。