【发布时间】:2013-08-02 00:25:01
【问题描述】:
我正在开发 KnockoutJs,我使用 valueUpdate:'afterkeydown' 和 textboxes 和 valueUpdate:'change' 和 select 元素来订阅相应的更改并执行相同的任务。我想在每个值更改后通过 subscribe 调用相同的函数。
为了更清楚起见,我的内容如下:
<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 调用相同的函数,那么我想知道是否有任何方法可以在单个订阅中订阅每个 valueUpdate(保存 LOC)或类似的东西,而不是在我必须时分别订阅四个值更新对他们每个人做同样的事情。提前致谢。 :)
【问题讨论】:
标签: javascript jquery knockout.js