がありますinput type="image"
。これは、Microsoft Excel のセルのメモのように機能します。誰かがこれとペアになっているテキスト ボックスに数字を入力するとinput-image
、 のイベント ハンドラーを設定しますinput-image
。次に、ユーザーが をクリックするとimage
、データにメモを追加するための小さなポップアップが表示されます。
私の問題は、ユーザーがテキスト ボックスにゼロを入力したときに、input-image
のイベント ハンドラーを無効にする必要があることです。次のことを試しましたが、効果はありませんでした。
$('#myimage').click(function { return false; });
ベストアンサー1
jQuery ≥ 1.7
jQuery 1.7以降ではイベントAPIが更新され、下位互換性のために.bind()
引き続き.unbind()
利用可能ですが、推奨される方法はの上()/オフ()関数。以下は、
$('#myimage').click(function() { return false; }); // Adds another click event
$('#myimage').off('click');
$('#myimage').on('click.mynamespace', function() { /* Do stuff */ });
$('#myimage').off('click.mynamespace');
jQuery < 1.7
サンプル コードでは、以前のクリック イベントを上書きするのではなく、画像に別のクリック イベントを追加するだけです。
$('#myimage').click(function() { return false; }); // Adds another click event
両方のクリック イベントが発生します。
すでに述べたように、unbind を使用してすべてのクリック イベントを削除できます。
$('#myimage').unbind('click');
単一のイベントを追加して、それを削除する場合 (追加された可能性のある他のイベントは削除せずに)、イベント名前空間を使用できます。
$('#myimage').bind('click.mynamespace', function() { /* Do stuff */ });
自分のイベントだけを削除するには:
$('#myimage').unbind('click.mynamespace');