IE には fireEvent メソッドが用意されており、その名前が示すように、イベントの発生をトリガーすることを意味します。最初は onclick() を使うのと同じだと思っていましたが、意外にも最近 JavaScript の入門書を書いているときに発見しました。 JavaScriptについてはまだまだ細かい部分がマスターできていない部分がたくさんあるようです!
次に、独自の概要に基づいて、fireEvent メソッドの使用法を詳細に記録します。 fireEvent は IE によって提供されるメソッドです。msdn ドキュメント アドレス: http://msdn.microsoft.com/en-us/library/ms536423(v=vs.85).aspx
onclick( )
まず、最初のコード例を見てみましょう:
私は 2 人です;
私は 3 人です;
🎜>< ;button onclick='document.getElementById("id1").onclick();'>click me!
このコードでは、onclick を追加しませんid1 イベントの li に、ボタンをクリックすると、「オブジェクトはこのプロパティまたはメソッドをサポートしていません。」というエラーが報告されます。 DOM.onclick() を使用するには、onclick イベントを追加する必要があることがわかります。
上記のコードを
に変更すると:
- 私は 1 人です;
- 私は 2 人です;
- 私は 3 人です; li>
fireEvent と onclick() が同じイベントをトリガーするかどうかを見てみましょう。以下のコードを見てください。
コードをコピーします
コードは次のとおりです。 < ul onclick='alert (event.srcElement.innerHTML);'> - 私も一人です;
- ;私は 2 人です;
- 私は 3 人です;
<ドキュメント.getElementById("id1 ").fireEvent("onclick")'>fireEvent !
ボタンをクリックすると、ul の onclick イベントがトリガーされ、fireEvent がバブリングを引き起こし、onclick イベントは発生しません () 「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というプロンプトが表示され、id1 の onclick イベントは追加しなくてもバブルする可能性があることを示しています。
このことから、IE の fireEvent メソッドは、単に onclick ではなく、ユーザーのマウス クリック動作をシミュレートすることに似ていることがわかります。
fireEvent と onclick の違いの概要
上記の例からわかるように、DOM fireEvent と onclick (これは単なる代表例です) には次の違いがあります。 🎜>1.onclick が必要です onclick イベントは実際に DOM に追加されます。そうでない場合は、「オブジェクトはこの属性またはメソッドをサポートしていません」というエラーが報告されます。
2. onclick は IE のバブリング プロセスを引き起こしませんが、fireEvent はバブリング プロセスを引き起こしますバブリング、fireEvent はユーザーの実際の動作トリガーに近くなります 3. 2 番目の記事から、fireEvent は DOM にクリック イベントがない場合でもエラーを報告せずに fireEvent を実行できます (ユーザーの実際の動作に近くなります)
最後に、次のコードでテストできます
:
コードをコピー
- 私は 3;
;
<ボタン onclick='document .getElementById("id1").onclick();'>クリックしてください! 'document.getElementById("id1").fireEvent("onclick")'> fireEvent !