1

ID が 'myId' である要素にクリック ハンドラーをバインドしました。そのために提供したコードは次のとおりです。

$(document).on('click','#myId',function() {
    alert('Hello world!');
});

次に、そのハンドラーのバインドを解除したいときに、次のことを試しました。

$('#myId').unbind('click');
$('#myId').off('click');

しかし、それは無駄でした。誰かがこれに関するアイデアを持っていますか?つまり、「myId」要素でクリックハンドラーをバインド解除するにはどうすればよいですか? ページの読み込み後に作成された要素にクリック ハンドラーが追加されたことを付け加える必要があります。

ありがとう、

PS: 私はこれを GWT の質問としてタイトルを付けました。私のせいで申し訳ありません。

*編集: *

次のシナリオがあります。「myId」でマークされた要素を作成し、クリック ハンドラーをアタッチしてから、その要素を削除する必要があります。しばらくしてから、その要素を再度作成し、新しいクリック ハンドラーをアタッチします。問題は、前のハンドラーが無制限ではないことです。これが役立つことを願っています。

4

1 に答える 1

3

クリック ハンドラーをバインドした要素ではなく、ドキュメント オブジェクトで 'off' メソッドを呼び出す必要があります。いえ

$(document).off('click','#myId'); 

私は以前にそれに直面したことがありますが、そのコードはうまくいきました。

于 2013-10-28T13:05:43.470 に答える