當我嘗試使用style
knockout.js結合來改變一個小盒子的背景色:淘汰賽風格綁定:firefox不設置背景顏色?
<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錯誤?或者一個Firefox錯誤?這似乎並沒有被任何與How to use the style data bindings?
的jsfiddle here
謝謝!我不知道替代屬性命名約定。你贏了一分鐘。還要感謝Tomalak。 – emrys57
有趣!我已經做了一些進一步的調查,並冒昧將我的發現加入@ sinanakyazici的回答。 – Jeroen
@Jeroen非常好的發現。我以爲我在KO源代碼的某處看到了一個'dashed-name'到'propertyName'轉換函數,所以我認爲他們會做「正確的事情」。顯然他們沒有。 – Tomalak