ドキュメントが意味することとは反対に、valueUpdate
パラメーターは「変更を検出するために KO が使用する必要があるブラウザー イベントを定義する」ものではなく、デフォルトは「変更」です。常に捉えられる「変化」。
関連するコードは次のとおりです。
// Always catch "change" event; possibly other events too if asked
var eventsToCatch = ["change"];
var requestedEventsToCatch = allBindingsAccessor()["valueUpdate"];
if (requestedEventsToCatch) {
if (typeof requestedEventsToCatch == "string") // Allow both individual event names, and arrays of event names
requestedEventsToCatch = [requestedEventsToCatch];
ko.utils.arrayPushAll(eventsToCatch, requestedEventsToCatch);
eventsToCatch = ko.utils.arrayGetDistinctValues(eventsToCatch);
}
この動作は実際に要求され、実装されました
。
ドキュメントが更新されていないようです。必要に応じて変更をリクエストする必要があり、ドキュメントで次のように伝えることをお勧めします。
"イベントのリスト。'change' を含め、[] を渡してモデルの自動更新を無効にすることをお勧めします"