jQueryでのライブの一点記録について
1361 ワード
事件委托Live()メソッドがDOMに追加されていない要素に有効であるのは,イベント依頼を使用しているためである:祖先要素にバインドされたイベント処理関数は,子孫でトリガーされたイベントに応答できる.
渡すLive()のイベント処理関数は要素にバインドされず、DOMツリーのルートノードにバインドされた特殊なイベント処理関数として使用されます.新しい要素をクリックすると、次の手順に従います.
1、clickイベントを生成して処理する2、イベント処理関数が直接上にバインドされていないため、イベントはDOMツリーにバブルする3、イベントはDOMツリーのルートノードまでバブルし続け、デフォルトではこの特殊なイベント処理関数が上にバインドされている.4、実行由.Live()バインドの特殊なclickイベント処理関数.5、このイベント処理関数は、まずイベントオブジェクトのtargetを検出して、続行する必要があるかどうかを決定する.このテストは$(event.target)を検出することによって行われた.closest('.clickme')が一致する要素を見つけて実現できるかどうか.6.一致する要素が見つかった場合、元のイベント処理関数を呼び出します.上記の手順5でテストを行うのは、イベントが発生したときだけですので、追加した要素はいつでもこのイベントに応答できます.
説明:デフォルトのイベント動作とイベントのバブルを阻止し、falseを返します.
説明:デフォルトのイベント動作のみをブロック
渡すLive()のイベント処理関数は要素にバインドされず、DOMツリーのルートノードにバインドされた特殊なイベント処理関数として使用されます.新しい要素をクリックすると、次の手順に従います.
1、clickイベントを生成して処理する2、イベント処理関数が直接上にバインドされていないため、イベントはDOMツリーにバブルする3、イベントはDOMツリーのルートノードまでバブルし続け、デフォルトではこの特殊なイベント処理関数が上にバインドされている.4、実行由.Live()バインドの特殊なclickイベント処理関数.5、このイベント処理関数は、まずイベントオブジェクトのtargetを検出して、続行する必要があるかどうかを決定する.このテストは$(event.target)を検出することによって行われた.closest('.clickme')が一致する要素を見つけて実現できるかどうか.6.一致する要素が見つかった場合、元のイベント処理関数を呼び出します.上記の手順5でテストを行うのは、イベントが発生したときだけですので、追加した要素はいつでもこのイベントに応答できます.
説明:デフォルトのイベント動作とイベントのバブルを阻止し、falseを返します.
jQuery :
$("a").live("click", function() {
return false;
});
説明:デフォルトのイベント動作のみをブロック
jQuery :
$("a").live("click", function(event){
event.preventDefault();
});