当我尝试使用 style
knockout.js 绑定来更改小框的背景颜色时:
<input class="biggerBox" type="text" data-bind="value: colorText, valueUpdate: 'afterkeydown'" />
<div class="littleBox" data-bind="style: {'background-color': colorText}"></div>
并在js中:
var viewModel = {
colorText: ko.observable('rgba( 80, 120, 160, 1)')
};
ko.applyBindings(viewModel);
在Chrome和Safari中,当我在输入框中输入文字时,小方块的背景色会随着文本输入而改变,与我的预期一致。但是,在Mac上的Firefox 24.0上没有效果。colorText可观察对象发生了更改,但背景色未设置。然而,如果我尝试更改前景色,那么在Chrome、Safari和Firefox上都能正常工作。我还没有尝试IE。
我是否误解了这里的编程?或者这是一个knockout.js的bug?或者是Firefox的bug?似乎与如何使用style数据绑定无关。
jsfiddle 在这里
dashed-name
到propertyName
的转换函数,所以我认为他们会做“正确的事情”。显然他们没有。 - Tomalak