1。元のイベントモデル
そのイベントタイプ:「入力イベント(Onclickiなど)」および「セマンティックイベント(OnSubmitなど)」に分かれています
イベントプログラムの登録は、次の方法で行うことができます。
1。HTMLプロパティ値としてのJSコード
コードコピーは次のとおりです。<入力型= "ボタン" value = "press me" onclick = "alert( 'anty');"
2。JS属性としてのイベントハンドラー
注:ドキュメント内の各HTML要素には、ドキュメントツリーに対応するJSオブジェクトがあります。このJSオブジェクトの属性は、そのHTML要素のプロパティに対応しています。 HTMLのJSコードであろうと、JS属性のタイムハンドラーであろうと、独自の属性は関数「関数」です。
次のようにコードをコピーします。<form name = "f1">
<入力名= "b1" type = "button" value = "press me"/>
</form>
最初の割り当て方法:
コードコピーは次のとおりです。Document.f1.b1.onclick= function(){alert( 'anty');};
2番目の割り当て方法:
コードコピーは次のとおりです。FunctionPlaid(){window.status = "私を押してください!";}
document.f1.bi.onmouseover =嘆願;
JS属性としてのイベントハンドラーは、JS属性で明示的に呼び出すことができます
コードコピーは次のとおりです。document.myfrom.onubmit();
イベントハンドラーは、ブラウザがイベントのデフォルトアクションを実行するのを防ぐために、Faleを返します。これは、OnSubmitなどの一般的に使用される操作です。例外はです
HyperLinkマウスオーバーのWindow.Statusディスプレイイベントのブロックは、trueを返すことです。例えば:
次のようにコードをコピーします
2。DOM2イベントモデル
このモデルは、W3Cによって定式化された仕様であるIEバブルモデルを参照して定式化されています。元のモデルでは、イベントがイベントが発生すると直接呼び出され、他のイベント伝播プロセスはありません。 DOM2モデルでは、イベントには特別な伝播プロセスがあり、3つの段階に分かれています。
(1)キャプチャフェーズ:イベントはドキュメントからターゲット要素に伝播されます。このプロセス中に、祖先の要素がイベントに関心がある場合は、独自の処理機能を登録できます。
(2)ターゲットフェーズ:イベントはターゲット要素に到達し、ターゲット要素のイベント処理機能を実行します。
(3)バブルフェーズ:イベントは、ターゲット要素からドキュメントまで上昇します。すべてのイベントタイプはキャッピングフェーズステージを通過しますが、たとえば、泡立ちフェーズステージを通過するイベントの一部のみが、たとえば、送信イベントが浮かびません。
イベントの伝播プロセス全体で、Event.StopPropagation()を呼び出してイベントの伝播を停止し、Browserのデフォルト動作をブロックするために呼び出されます。
コードコピーは次のとおりです。AddEventListener( "eventType"、 "Handler"、 "true!false");
removeEventListner( "EventType"、 "Handler"、 "true!false");
IEモデル
IEモデルは、イベントの詳細情報をカプセル化するイベントオブジェクトも提供しますが、IEはオブジェクトをイベント処理関数に渡しません。いつでも1つのイベントしかないので、それをグローバルオブジェクトウィンドウの属性と見なします。 IEのイベント伝播モードは、DOM2の2番目と3番目の段階に対応します。最初に、ターゲット要素の処理機能が実行され、次にアップロードがドキュメントに到達します。 IEでキャプチャできるマウスイベントのみがキャプチャできます。すべてのイベントはDOM2でキャプチャできます。 IEでイベント処理機能を登録および削除する方法も、DOM2とは異なります。
イベントハンドラーの登録と削除は、要素のAttachmentEvent( "eventType"、 "Handler")およびDetachevent( "EventType"、 "Handler")を介して行われます。 DOM2とは異なり、EventTypeには上のプレフィックスがあります
特徴:
1.伝播プロセスはバブルのみであり、キャプチャしません。気泡を中断する方法:
window.ecent.cancelbubble = true;
2。イベントオブジェクトは、イベントハンドラーの関数パラメーターではなく、ウィンドウのグローバル変数です。
3。イベント登録関数:actitionevent()およびregistration:detachevent()。
4。NetScape4イベントモデル
Netscapeは完全に開発を停止しているように見えるので、詳細に説明しません。簡単に言えば、それはただ捕まえて泡立ちません。
上記は、JavaScriptイベントモデルの基本的な紹介です。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。