jQuery delegate() メソッド

❮ jQuery Event メソッド

<div> 要素内部の <p> 要素をクリックしたとき、全 <p> 要素の背景色を変える:

$("div").delegate("p", "click", function(){
    $("p").css("background-color", "pink");
});
Try it Yourself »

定義と用法

delegate() メソッドは、選択した要素の子である指定の要素に、1 つ以上のイベントハンドラを接続します。

delegate() メソッドを使用して接続されたイベントハンドラは、現在の要素でも、 (スクリプトにより作成される新規要素のように)将来生成される要素でも動作します。

jQuery バージョン 1.7 時点では、on() メソッドを使用することが推奨されています。


構文

$(selector).delegate(childSelector,event,data,function)

パラメータ 説明
childSelector 必須。イベントを接続する 1 つ以上の子要素を指定する。
event 必須。要素に接続する 1 つ以上のイベントを指定する.

複数のイベントはカンマで区切る。妥当なイベントでなければならない。
data 任意。関数を通して渡す追加のデータを指定する
function 必須。イベントが発生したときに実行する関数を指定する

Try it Yourself - 例

将来の要素にイベントハンドラを追加する
まだ作られていない要素にイベントハンドラを追加する、delegate() メソッドをの使用方法。

関数へのデータ渡し
カスタムな名前を持つイベントハンドラにデータを渡す方法。


❮ jQuery Event メソッド