-3

私はコーディングが初めてで、大学の 1 年生で Web テクノロジを勉強しています。私の Web 割り当てでは、ユーザーがさまざまなキャリア設定を設定し、その設定に一致するキャリアを表示できるようにする Web アプリケーションを作成する必要がありました。

とにかく、私はこれを行うことができましたが、Internet Explorer に問題があり、私のサイトは Safari、Chrome、および Firefox で正常に動作します。ただし、IE で検索ボタンを押しても JavaScript が実行されないようです。IE でサイトをデバッグしたところ、コードのこのセクションでエラーが発生しました。

var resetBtn = document.getElementById("resetBtn");
resetBtn.addEventListener("click", reset, false);

エラーは 2 行目に発生し、メッセージは次のとおりです。

Object doesn't support property or method

エラーを修正するにはどうすればよいですか?

エラーのスクリーンショット

スクリーンショットへのリンク

ありがとうございました

4

3 に答える 3

2

ええ、前に言ったように、IE は addEventListener メソッドを知らないので、これを行う必要があります:

var resetBtn = document.getElementById("resetBtn");
if( resetBtn.addEventListener ){
    resetBtn.addEventListener("click", reset, false);
}else{
    resetBtn.attachEvent("onclick", reset);
}

このようにして、ブラウザの機能をチェックするという正しい方法を行っています。特にこの場合、ブラウザーが addEventListener (標準メソッド) をサポートしているかどうかをテストしています。サポートしていない場合は、attachEvent である IE メソッドにフォールバックし、イベント名の前に「on」という単語を付ける必要があります。

繰り返しますが、上記のように、jquery、prototype、mootools などのライブラリを含めることができます。ただし、学習目的で純粋な JS に保持することを強くお勧めします。そうです、ライブラリはコーディングをより迅速に行うのに役立ちますが、スキップします多くの学習に加えて、純粋なJSはいつでもどのライブラリよりもはるかに高速です.

お役に立てれば。

于 2013-05-03T19:08:13.717 に答える