得到简单的viewModel:
function viewModel() {
enabled: ko.observable(false);
...
}
和一些绑定,如:
<input data-bind="hasFocus: enabled" />
我想在焦点上运行一些功能,而在焦点丢失(或启用=真/假)时运行其他功能,但在值更改时运行。有什么帮助吗?
得到简单的viewModel:
function viewModel() {
enabled: ko.observable(false);
...
}
和一些绑定,如:
<input data-bind="hasFocus: enabled" />
我想在焦点上运行一些功能,而在焦点丢失(或启用=真/假)时运行其他功能,但在值更改时运行。有什么帮助吗?
您可以订阅您启用的功能,例如:
enabled.subscribe(function(newValue) {
if(newValue) { // Has focus
} else {
// No focus
}
});
事件:{ mouseover:enableDetails,mouseout:disableDetails }
尝试这个:
<input data-bind="hasFocus: enabled, event: { focus: onFocus, blur: onBlur}" />
如果你想监控值的变化,你应该在 viewmodel 中进行:
this.enabled.subscribe(function(newValue){
//use newValue
});
注意:您在视图模型中有语法错误:
enabled: ko.observable(false); <--
通常,一个好的解决方案是订阅您的 observable 并在那里处理您的逻辑,例如:
enabled.subscribe(function(newValue) {
if (newValue) {
//do something if it is true
}
else {
//do something if false
}
});