全ての <p> 要素から click イベントを削除する:
$("button").click(function(){
$("p").off("click");
});
Try it Yourself »
多くの場合、off() メソッドは on() メソッドで接続したイベントハンドラを削除するために 使われます。
jQuery version 1.7 時点で、off() メソッドは、unbind()、die()、undelegate() メソッドに代るものです。 このメソッドは、API に多数の一貫性をもたらしますので、jQuery コードベースの簡素化のために、このメソッドの使用をお勧めします。
注: 指定のイベントハンドラを削除するには、イベントハンドラを接続したときに、 on() メソッドに渡されたセレクタ文字列と一致している必要があります。
チップ: 一度だけ実行するイベントを接続し、その後で自身を削除するには、one() メソッドを使用します。
$(selector).off(event,selector,function(eventObj),map)
パラメータ | 説明 |
---|---|
event | 必須。指定した要素から削除するための 1 つ以上のイベントまたは名前空間を指定する。 スペースで区切られた複数の event 値。妥当なイベントでなければならない。 |
selector | 任意。イベントハンドラを接続したときに、on() メソッドに渡したものの 1 つに 一致するセレクタ |
function(eventObj) | 任意。イベントが発生したときに実行する関数を指定する |
map | 要素に設定する 1 つ以上のイベントと、イベントが発生したときに実行するための関数を含む イベントマップ({event:function, event:function, ...})を指定する |
unbind() から off() への変更
unbind() と同じ効果を得るための off() の使用方法。
undelegate() から off() への変更
undelegate() と同じ効果を得るための off() の使用方法。
die() から off() への変更
die() と同じ効果を得るための off() の使用方法。
on() で追加した全 click イベントハンドラの削除
on() で追加した全 <p> 要素の click イベントハンドラを削除する方法。
on() で追加した指定のイベント関数の 1 つを削除
on() で追加した指定のイベント関数の 1 つを削除する方法。
イベントオブジェクトを使用してイベントハンドラを削除
イベントがある回数トリガされた後、イベントハンドラを削除する方法。