click()、bind()、および live() はすべて、イベントを実行するときに使用されるメソッドです。これらのメソッドを使用する場合は、必要に応じて選択する必要があります。
を右クリックすると「右」が出力されます。
通常の状況では click() メソッドを使用するだけで済むことがわかりますが、上記の状況に対処する必要がある場合は、bind() メソッドを使用する必要があります。
3.live() は、要素が後で追加された場合でも、一致するすべての要素にイベント ハンドラーをアタッチします。 は次のとおりです:
$("div .live").bind("click", function() {
alert("success");
});
このとき、 liveクラスのdivをクリックすると「success」が出力されます。このとき、新しい要素を追加する場合は次のようになります。
$("
live
").appendTo("body");
このとき、上記を使用した場合、class live のメソッドが a タグをクリックしても実行されません。その理由は、この要素は、bind() の呼び出し後に追加され、live() メソッドを使用すると、次のように、後で追加された要素でも対応するイベントを実行できるためです。 code
このように、class live で a タグをクリックすると、後から a タグを追加すれば通常通り「success」を出力することができます。その理由については、ここでは詳しく説明しません。この記事では主にいくつかの方法の違いを比較します。
最後に、delegate() メソッドを見てみましょう。これまでのところ、このメソッドは 1.4.2 で使用できるようになっています。
live() メソッドの欠点の 1 つは、チェーン書き込みをサポートしていないことです。
コードをコピー
上記の書き方では出力されません。delegate() を使用して次のように記述できます。
$("#test").delegate("a", "mouseover", function() {
alert("hello");
} );
このようにして、目的の結果が正常に出力されます。この記事では、click()、bind()、live()、および delegate() メソッドについて詳しく説明しておりませんが、特定の使用方法に役立つことを願っています。