(イベント、[選択]、[FN])オフイベントハンドラでイベントが選択される一つ以上の元素を除去します。

(イベント、[選択]、[FN])オフ

アウトライン

選択された要素のイベントハンドラで1つ以上のイベントを削除します。

.onが結合したイベントハンドラを()を削除するオフ()メソッド。詳細については、この委任ページと直接結合事象を参照してください。特定のイベントハンドラは、要素上のイベント、名前空間、選択、または関数名の組み合わせの名前を提供するために除去することができます。イベントハンドラは、フィルタパラメータが複数ある場合は、パラメータ提供必見の試合が削除されます。

そのような「クリック」を提供するような単純なイベントの名前場合は、すべての  (直接および代理人を含む)このタイプのイベントは、jQueryの要素セットから削除しました。プラグインとして使用されるコードを書く、あるいは単に時に大規模なコードベース作業すると、ベストプラクティスは、コードが誤って削除されていない他のコード添付イベントハンドラーを行うように、使用するイベントの名前空間をインストールし、削除することです。特定の名前空間内のすべてのタイプのすべてのイベントは、単に、そのような「.myPlugin」として、名前空間を提供し、要素から削除することができます。少なくとも、かどうか、名前空間のイベント名が提供されなければなりません。

セレクタのパラメータを提供するために、特定のデリゲートイベントハンドラを削除します。セレクタ文字列は完全一致(イベントハンドラセレクタ).on渡さなければなりません。非委託要素上のすべてのイベントを削除するには、「**。」特別な値を使用します

ハンドラも削除ハンドラパラメータは、関数の名前を指定することができます。jQueryのは、ハンドラに固有のIDを割り当て、イベントハンドラをバインドする場合。関数()または類似の薬剤は、したがって、それはエージェントハンドラハンドラ.offによって予想以上除去することができる、jQuery.proxyと同じ固有IDメカニズム(プロキシ機能)を有します。これらのケースでは、それは、使用の名前空間をイベントハンドラを添付して削除することをお勧めします。大理石のプラットフォームの生産工場

あなたがイベントマップを渡すことができるようと.on()は、>パラメータはなく、別のイベントハンドラのパラメータとして明示的に指定されています。キーイベントおよび/または名前空間;値がfalseにハンドラまたは特別な値です。

パラメータ

イベント、[選択]、[FN] V1.7

イベント:1つまたは複数のスペースで区切られたイベントタイプとオプションの名前空間、または単に名前空間は、そのような「クリック」、「keydown.myPlugin」、または「.myPlugin」など。

セレクター:最初に.on()イベントハンドラセレクタに渡されます。

Fn:以前に追加のイベント、または特別な値の偽のイベントハンドラ関数。

イベントマップ、[選択] V1.7

-イベントの地図:1つ以上のスペースイベントの種類とオプションの名前空間の文字列表現、前回のイベントハンドラの値が結合を示しています。

セレクター:最初に.on()イベントハンドラセレクタに渡されます。

説明:

すべての段落からすべてのイベントハンドラを削除します。

$("p").off()

すべての段落からすべての委任クリックハンドラを削除します。

$("p").off( "click", "**" )

3番目の引数として渡すことで一つだけ以前にバインドされたハンドラを削除します。

var foo = function () {
  // code to handle some kind of event
};

// ... now foo will be called when paragraphs are clicked ...
$("body").on("click", "p", foo);


// ... foo will no longer be called.
$("body").off("click", "p", foo); 

アンバインドすべては自分の名前空間でイベントハンドラを委任しました:

var validate = function () {
  // code to validate form entries
};

// delegate events under the ".validator" namespace
$("form").on("click.validator", "button", validate);

$("form").on("keypress.validator", "input[type='text']", validate); 

// remove event handlers in the ".validator" namespace

$("form").off(".validator");

おすすめ

転載: www.cnblogs.com/furuihua/p/12018138.html