function StorewideSaleModel() {
this.radioOff = ko.observable(""+1);
}
ko.applyBindings(new StorewideSaleModel());
所以,我在这里尝试做的是根据单选按钮启用/禁用文本框。我还为div分配了一个click事件,所以如果我点击该div中的任何其他位置,则会选中该按钮。一切正常。
但是,如果我单击单选按钮本身,它不会被检查,但UI的其余部分仍然会更新。如果检查该值,则单选按钮会(神奇地)返回旧值。它怎么能记住我不知道的旧价值。
所以我尝试了clickBubble:false,并且事件STILL冒泡到了封闭的div。我用警报来解决这个问题。
答案 0 :(得分:2)
默认情况下,Knockout会阻止click事件采取任何默认操作。
因此,您需要将true
从点击事件处理程序返回到allow the default click action:
data-bind="click: function() { radioOff('2'); return true;}"
和
data-bind="click: function() {radioOff('1'); return true;} "
演示JSFiddle。