使用 knockout.js (valueUpdate) 在输入更改时调用函数
Call function on input change with knockout.js (valueUpdate)
我正在尝试在我的输入值更新时调用一个函数。
该函数将验证输入值并将标志设置为 true 或 false,该标志将在 DOM.
中的多个元素中使用
我一直在尝试建议的解决方案 here:
<input data-bind="event: { change: value_changed }, value: saved_value, valueUpdate: 'afterkeydown'" />
但在 afterKeyDown 上似乎不起作用。正如您在此处看到的那样,它仅在 unfocus 上调用函数:
http://jsfiddle.net/imac/hY5T2/142/
我做错了什么?
这是您的 JSFiddle
的更新
<input data-bind="value: demo, valueUpdate: 'afterkeydown'" />
var viewModel = function () {
var self = this;
self.demo = ko.observable('');
self.myFunction = function(){
alert("fired");
}
}
var VM = new viewModel();
ko.applyBindings(VM);
VM.demo.subscribe(function(){
VM.myFunction();
});
我希望这就是你想要的??
谢谢
编辑:
没有订阅者。 JSFiddle without subscriber
var viewModel = function () {
var self = this;
self.demo = ko.observable('');
self.myFunction = function () {
alert("fired");
}
self.worker = ko.computed(function () {
if (self.demo()) self.myFunction();
}, this);
}
var VM = new viewModel();
ko.applyBindings(VM);
我正在尝试在我的输入值更新时调用一个函数。 该函数将验证输入值并将标志设置为 true 或 false,该标志将在 DOM.
中的多个元素中使用我一直在尝试建议的解决方案 here:
<input data-bind="event: { change: value_changed }, value: saved_value, valueUpdate: 'afterkeydown'" />
但在 afterKeyDown 上似乎不起作用。正如您在此处看到的那样,它仅在 unfocus 上调用函数: http://jsfiddle.net/imac/hY5T2/142/
我做错了什么?
这是您的 JSFiddle
的更新<input data-bind="value: demo, valueUpdate: 'afterkeydown'" />
var viewModel = function () {
var self = this;
self.demo = ko.observable('');
self.myFunction = function(){
alert("fired");
}
}
var VM = new viewModel();
ko.applyBindings(VM);
VM.demo.subscribe(function(){
VM.myFunction();
});
我希望这就是你想要的??
谢谢
编辑:
没有订阅者。 JSFiddle without subscriber
var viewModel = function () {
var self = this;
self.demo = ko.observable('');
self.myFunction = function () {
alert("fired");
}
self.worker = ko.computed(function () {
if (self.demo()) self.myFunction();
}, this);
}
var VM = new viewModel();
ko.applyBindings(VM);