jqueryのメモevent_jquery

WBOY
リリース: 2016-05-16 17:59:56
オリジナル
1057 人が閲覧しました

ブラウザ モデル:
1. DOM レベル 0 モデル
イベント ハンドラーは、関数インスタンスへの参照を DOM 要素の属性に割り当てることによって宣言されます。これは、onclick などの最も一般的なものでもあります。

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

< img onclick="alert('hello');" src="1.jpg" />
$("img").onmouseover = function(){alert("hello") ;}

(1)、より興味深いのは、イベント インスタンスとイベント バブリングです。
イベント インスタンスは、イベントのクラス インスタンスを最初のパラメータとして関数に渡すほとんどのブラウザですが、 IE では、イベントは window 属性に割り当てられます。w3c 標準ブラウザには target があり、IE は srcElement 属性を取得します。
と記述します。 コードをコピー コードは次のとおりです:

$("img").onclick=function(event){
if (!event) イベント = window.event;
var target =event.target?event.target:event.srcElement;

(2)、イベント バブリング
ターゲット要素にはイベントを取得する機会があり、イベント モデルはターゲット要素の親要素を要求して、同じタイプのハンドラーが確立されているかどうかを確認します。確立されている場合、そのハンドラーも DOM ツリーの最上位まで呼び出されます。
w3c 標準ブラウザの場合は、イベントの stopPropagation() を使用できます。つまり、イベントの cancelBubble を使用してバブリング


2 を使用できます。2. レベル 2 モデル
で問題が解決されます。レベル 0 モデルの属性ストレージ イベントごとに登録できるハンドラーは 1 つだけです。

コードをコピー コードは次のとおりです。
$("img").addEventListener( 'click' ,function1,false).addEventListener('click',function2,false);

2 レベル モデルでは、イベントがトリガーされ、最初に DOM ツリーから下方向に伝播します。上記の addEventListener の 3 番目のパラメーターが false の場合はバブリング ハンドラーが作成され、true の場合はキャプチャ ハンドラーが作成されます。
ここでキャプチャ タイプについて聞いたのは初めてです。IE6 と 7 は第 2 レベル モデルをサポートしていないため、それは不思議ではありませんが、一部の IE ブラウザは、attachEvent(eventName, handler) を使用して同様のバブル タイプをサポートしています。 )。

jquery のバインドはこれらの問題を解決します。 。 。
「jquery の実践」を参照してください。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート