ホームページ  >  記事  >  ウェブフロントエンド  >  MSIE で「addEventListener」がエラーをスローするのはなぜですか?

MSIE で「addEventListener」がエラーをスローするのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-25 01:52:02602ブラウズ

Why Does `addEventListener` Throw an Error in MSIE?

JavaScript における MSIE および addEventListener の問題

document.getElementById('container') 要素の addEventListener メソッドを利用して実行しようとしたときWeb ページ上でコンテンツをコピーするときに「beforecopy」関数を使用すると、Internet Explorer (MSIE) で「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーが発生することがあります。

この問題は、MSIE が次の使用を必要とするために発生します。標準の addEventListener メソッドの代わりにattachEventを使用します。この問題を解決するには、addEventListener メソッドが利用可能かどうかを確認し、利用可能な場合はそれを使用します。そうでない場合は、attachEvent:

if (el.addEventListener){
  el.addEventListener('click', modifyText, false); 
} else if (el.attachEvent){
  el.attachEvent('onclick', modifyText);
}

を使用します。別の方法は、このタスクを実行する関数を作成することです:

function bindEvent(el, eventName, eventHandler) {
  if (el.addEventListener){
    el.addEventListener(eventName, eventHandler, false); 
  } else if (el.attachEvent){
    el.attachEvent('on'+eventName, eventHandler);
  }
}

bindEvent(document.getElementById('myElement'), 'click', function () {
  alert('element clicked');
});

addEventListener の 3 番目の引数は useCapture で、これを true に設定すると、イベント キャプチャを開始する必要があることを示します。

以上がMSIE で「addEventListener」がエラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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