0

innerHTMLスパンの塗りつぶしをビルドしてからjquery関数をビルドするajax関数を使用しています。初めてjquery関数を呼び出すと正常に動作しますが、ajax関数を再度呼び出すと、jqueryクリック関数が2回呼び出され、もう一度呼び出すと、jqueryが3回呼び出されます。これは私が使用しているjqueryメソッドです:

$(".delete_mail").live('click', function() {
                                     $(this).delete_mail();
                                    });

.die私は充填する前に試しましたが、innerHTMLそれは役に立ちませんでした。重複しないようにlive、入力する前にjqueryメソッドを削除したいと思います。innerHTML

助けてください。

4

1 に答える 1

1

.live ()関数は、現在および将来一致するすべての要素のイベントにハンドラーをバインドします。

したがって、一般に、.live()は1回だけ呼び出す必要があります。そうしないと、新しいハンドラーが追加され続けます。

.live()呼び出しをonloadイベントに移動して、1回だけ呼び出すようにしてください。ハンドラーは、Ajax呼び出しを介して追加された新しい要素に自動的にバインドします。

于 2009-11-30T12:20:40.563 に答える