ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript クロスブラウザ イベント system_javascript スキル

JavaScript クロスブラウザ イベント system_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 18:31:101081ブラウズ

しかし実際には、JavaScript の父がこれらすべてを支配することはできません。彼がサポートした Netscape は、競合他社がその製品を素直に使用できるほど強力ではありません。Microsoft は JScript を作成し、亡き Macromedia は ActionScript を作成しました。その他にも多数の製品があります。この分岐はかなり複雑だと聞きました。ただし、ブラウザーの組み込み DOM イベント モデルを使用すると、最初の結果として、これを使用する場合は DOM オブジェクト、ウィンドウ、ドキュメント、または要素ノードを使用する必要があります。2 番目の結果は、ブラウザーごとにサポートが異なることです。 DOM はイベント モデルの一貫性を保証できません。3 つ目は、DOM オブジェクトに基づいているため、循環参照が発生しやすいためです。 Microsoft は最初のブラウザ戦争に勝利した後、基本的に DOM モデルを更新せず、w3c、ecma、その他の標準に近づくために常に更新されている「標準ブラウザ」を使用する 2 つの陣営に分かれました。ただし、標準のブラウザはモノリシックではありません。たとえば、FF はマウスホイールをサポートしていませんが、DOMMouseScroll をサポートしており、Opera のコンテキスト メニューは制御できません。自分たちで実装する必要があります。現在、どちらのホストも DOM2 イベント モデルを実装しています。Microsoft のイベント モデルは addevent、標準のイベント モデルは addeventListener です。これにより、同じ要素で同じタイプの複数のイベント コールバック関数をバインドできます。インターネット上の多くの addEvent 関数はこれらを使用して作成されていますが、信頼性がありません。第一に、IE のコールバック関数はイベント オブジェクトを強制的にバインドするものではなく、標準ブラウザでは Qiangwuqu の最初のパラメータがイベント オブジェクトです。 call 関数は強制バインディングを実装できますが、IE のイベント オブジェクトも標準のものとは異なります。ここで行うべき作業はたくさんあります。もう 1 つの問題は、IE のコールバック関数の実行順序が不規則であり、標準ではバインディングの順序で実行されることです。したがって、これら 2 つの機能も無効になります。オリジナルのonXXXXを使って実装する予定ですが、複数の関数をバインドする場合は一つの関数にまとめてforループで完結させます。

コードをコピー コードは次のとおりです:




;

イベント系统 by 司徒正美