0

私はajaxedされたフォームを持っており、そのフォーム内で新しい入力を生成します。これらの新しい入力には.live()、最初のajaxedフォーム内でイベントがアタッチされています。

したがって、このajaxedフォームを閉じてから、更新せずに再度開くと、問題が発生します。1つのライブイベントのみを持つ必要がある個々の要素にバインドされた2つのライブイベントがあります。

私がこれを回避するのを見る方法は、以前に添付されたすべてをクリアするために.live()それぞれの前にありますか?.die()live()

これを処理するためのよりクリーンな、またはより適切な方法があるかどうか疑問に思っていますか?

4

1 に答える 1

4

あなたはどのように機能するか知っていますよね.live()一度呼び出すと、イベントハンドラーがドキュメントに添付され、将来追加される場合でも、そのセレクターに一致するすべての要素のイベントを処理します。.live()要素を追加するたびに呼び出すわけではありません。正しく使用している場合は、.die()その特定のイベントの処理を完全に停止する場合、またはハンドラーを変更/置換する場合にのみ呼び出す必要があります。

短いバージョン:よりクリーンでより適切な代替手段は、.live()必要のないときに呼び出しをやめることです。

于 2011-12-27T12:11:17.747 に答える