<div data-bind="css: { highlighted: highlight }, click: toggleHighlight">
random string
</div>
<input type="checkbox" data-bind="css: { 'checked': dimitri, 'unchecked': !dimitri() }, click: toggledimitri, checked: dimitri">
var ViewModel = function() {
var self = this;
self.dimitri = ko.observable(false);
self.toggledimitri = function() { self.dimitri(!self.dimitri()) };
self.highlight = ko.observable(true);
self.toggleHighlight = function() { self.highlight(!self.highlight()) };
}
ko.applyBindings(new ViewModel());
var vm = ko.dataFor(document.body);
基本上什么我后CSS类的触发翻转电检查{checked和unchecked}同时还检查并取消选中使用淘汰赛选中复选框:CSS:和点击:。任何想法,我有点不正确? jsfiddle淘汰赛复选框切换CSS类和在点击
'checked'绑定不需要额外的'click'绑定来获得切换功能。从您的复选框中删除'click'绑定并查看会发生什么。 – user3297291
首先感谢您的帮助,是的它让我更接近了一步,但尽管我已经尝试过了,但是我已经恢复了原状,因为这样可以防止在可观察的基因错误时分配未经检查的类。当元素未被选中时,我需要分配一个类。 –
您需要在'unchecked'类绑定中使用'!dimitri()'。 '!dimitri'不能自动解包观测值。所以:'data-bind =“css:{'checked':dimitri,'unchecked':!dimitri()},checked:dimitri”' – user3297291