したがって、いくつかのデータを表示するためにループするコレクションがあります。各行の横に削除ボタンがあり、observableArrayコレクションから特定の行の$dataを削除します。それはそれをうまく取り除きます、しかしここに問題があります。各行の一部の入力フィールドには、検証を行うために作成したカスタムバインディングがあります。ユーザーがフォームを操作しているときに、カスタムバインディングの更新イベントが適切に発生します。ただし、ユーザーが行を削除しても、更新イベントは発生しません。
これは私の検証の状態を完全に台無しにします。誰かがここで何が起こっているのか知っていますか?
これがこの問題のjsfiddleです。
更新:また、変更の結果として更新イベントが呼び出される状況では、イベントが呼び出される順序に問題があります。要素を削除すると、オブザーバブルへの更新が原因で更新イベントが最初に呼び出されます。この時点で、要素自体はまだDOMにあります。したがって、更新中の要素がまだDOMに存在するかどうかを、更新イベント内で知る方法はありません。