デリゲート ハンドラーがアタッチされている要素を削除するときに、IE8 で jQuery の .delegate() メソッドを使用すると問題が発生しました。シナリオは次のとおりです。それぞれに削除ボタンがある行を含むテーブルがありました。行は動的に作成されたため、デリゲートを使用してクリック イベントを処理する削除ボタンが接続されました。最後の行を削除するときが来たとき、テーブル全体が削除されました (テーブルは、少なくとも 1 つの行を作成する値があった場合にのみ作成されました)。それでも、一部のページでは機能しましたが、1 つだけでは機能しませんでした (各ページでまったく同じコードが使用されました)。デリゲートのjQueryコードにある行。
問題は、ハンドラーが使用している DOM 要素の一部が削除された場合のハンドラーのベスト プラクティスは何でしょうか? ある時点で undelegate を呼び出す必要がありますか? もしそうなら、どこで?