2

id ="cmp"; の inputType="text" というコンポーネントがあるとします。

jsファイルで、

$("input[type='text']").bind('keypress', function(e) {
//Case 1
});

私のjspファイルでは、

$("#cmp").keypress(function() {
  //Case 2
});

ここで、keypress イベントを 1 つだけ削除する必要があります。js ファイルから登録されている id="cmp" の keypress イベントを削除することは可能ですか。ただし、jsp ファイルから登録されているイベントを削除しないでください。

注: 私の要件によると、.js ファイルを変更することはできません。

4

3 に答える 3

0

offjqueryメソッドを使用してイベントを削除できますJquery OFf

off() メソッドは、.on() でアタッチされたイベント ハンドラーを削除します。詳細については、そのページの委任および直接バインドされたイベントの説明を参照してください。イベント名、名前空間、セレクター、またはハンドラー関数名の組み合わせを提供することにより、特定のイベント ハンドラーを要素から削除できます。複数のフィルター引数が指定されている場合、イベント ハンドラーを削除するには、指定されたすべての引数が一致する必要があります。

$('#cmp').off('keypress');
于 2013-03-11T05:44:42.837 に答える
0

off()を使用する

off: イベント ハンドラーを削除します。

$('#cmp').off('keypress');
于 2013-03-11T05:45:10.837 に答える
0

イベントが最初にどのようにアタッチされたか、および使用している jQuery のバージョンに応じて、.unbind()または.off() ( jQuery 1.7+ ) のいずれかを使用する必要があります。

// Prior to jQuery 1.7
$("#cmp").unbind("keypress");

// jQuery 1.7+
$("#cmp").off("keypress");

イベント ハンドラーをバインドしている元の場所を変更できる場合は、イベント名前空間を使用して、特定の名前のイベントのみを削除することもできます。

// Original binding
$("#cmp").on("keypress.someName", function() {
  ...
});

// Unbinding
$("#cmp").off("keypress.someName");

于 2013-03-11T07:42:45.357 に答える