私は KnockoutJs に取り組んでおり、テキストボックスで valueUpdate:'afterkeydown' を使用し、select 要素で valueUpdate: 'change' を使用して、それぞれの変更をサブスクライブし、同じタスクを実行しました。値が変更されるたびに、サブスクライブを介して同じ関数を呼び出したいと思います。
より明確にするために、私は以下のようなものにしています:
<input type="text" data-bind="value: val1, valueUpdate: 'afterkeydown'"/>
<input type="text" data-bind="value: val2, valueUpdate: 'afterkeydown'"/>
<select data-bind="value: sel1, valueUpdate:'change'">
<select data-bind="value: sel2, valueUpdate:'change'">
そしてJavaScriptでは、次のようなすべての変更をサブスクライブしました:
viewModel.val1.subscribe(function () {
doSameWork();
});
viewModel.val2.subscribe(function () {
doSameWork();
});
viewModel.sel1.subscribe(function () {
doSameWork();
});
viewModel.sel2.subscribe(function () {
doSameWork();
});
################################
var doSameWork = function(){ alert('some work done!'); };
すべてのvalueUpdateで同じ関数を呼び出している場合、同じことをしなければならない場合、4つの値の更新を個別にサブスクライブするのではなく、単一のサブスクライブ(LOCを保存)またはそのようなものですべてのvalueUpdateをサブスクライブする方法があるかどうか疑問に思っていましたそれらのそれぞれと。前もって感謝します。:)