AttachEventおよびDetacheventを使用して、IEブラウザのイベントを追加または削除します。他の標準ブラウザーでは、AddEventListenerとRemoveEventListenerが使用されます。以下は、イベントの追加と除去をカプセル化します。コードを見てください!
/*** @descriptionイベントバインディング、ブラウザと互換性があります* @paramターゲット*イベントトリガーオブジェクト* @param type* event* @param func* eventハンドラー機能*/function bind(ターゲット、タイプ、func){if(ターゲット.addeventlistener){// non nonie and ie9target.addeventlistener(egrate and funce) {// ie6 to ie8target.attachevent( "on" + type、func);} else {target ["on" + type] = func; // ie5}}/*** @descriptionイベントの削除、各ブラウザと互換性があります* @paramターゲット*イベントオブジェクト* @paramタイプ*イベント* @param func*イベントハンドラー機能*/function unbind(ターゲット、タイプ、func){if(ターゲット.removeeventlistener){ターゲット。 (Target.Detachevent){ターゲット.Detachevent( "on" + type、func);} else {target ["on" + type] = null;}}}AddEventListenerの3番目のパラメーターの意味に関する他のサプリメント
AddEventListenerの3番目のパラメーター
W3C DOMでトリガーイベントを追加するために使用される関数は、AddEventListenerと呼ばれます。ただし、この関数の3番目のパラメーターがどのようなものであるかはわかりません。私はいつもそれをさりげなく設定し、違いは見つかりませんでした。 2日前にJavaScriptでPPKを読んだとき、私はついに説明を見ました。ずっと前に発見された標準のDOMファイルについては、実際にこのパラメーターに関する情報を探したことはありません。
このパラメーターは、usecaptureと呼ばれます。これはブール値であり、trueまたはfalseです。 trueが送信された場合、ブラウザはキャプチャメソッドを使用します。偽の場合、それは泡立ちであり、特定の状況にのみ影響を与えます。通常、偽であることをお勧めします。影響がある状況は、ターゲット要素が祖先要素と同じイベント対応関数を持っていることです。写真を見るのは明確だと思います。
この例には、Divブロックの2つの層があります
この写真に示されているように、私の例にはDiv要素の2つの層があり、どちらもクリックイベントを設定しています。一般的に言えば、内側の青い要素をクリックすると、青い要素のクリックイベントをトリガーするだけでなく、同時に赤い要素のクリックイベントをトリガーします。 UseCaptureパラメーターは、現時点でTwo Clickイベントの順序を制御することです。それが偽の場合、バブルが使用されます。これは内側からのプロセスであるため、青い要素のクリックイベントが最初に実行され、次に赤い要素のクリックイベントが実行されます。それが本当なら、それはキャプチャです。それどころか、泡立ちは外側から内側になります。赤い要素のクリックイベントは、青い要素のクリックイベントが実行される前に最初に実行されます。添付されているのは、CaptureとBubblengの2つの例です。このパラメーターでは2つのファイルが異なるため、イベントのシーケンスが異なることがわかります。
異なるレイヤーの要素で使用されている使用型が異なる場合はどうなりますか?これは、最も外側の要素から、まずターゲット要素にキャプチャとして設定されたイベントを探し、ターゲット要素に到達してターゲット要素のイベントを実行した後、バブルとして設定されたイベントを調べることを意味します。