私は結合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で期待と同じように動作し、サファリ、入力ボックスにテキストを入力すると、小さなボックスの背景色が変わります。しかし、MacではFirefox 24.0ではそうではありません。 colorTextの観測値は変更されますが、背景色は設定されません。ただし、代わりにフォアグラウンドカラーを変更しようとすると、Chrome、Safari、Firefoxのすべてで機能します。私はIEを試していない。
私はここでプログラミングを誤解していますか?またはこれはknockout.jsのバグですか?またはFirefoxのバグ?あなたが代わりにbackground-color
のbackgroundColor
属性を使用する必要がありますHow to use the style data bindings?
jsfiddle here
ありがとうございます!私は代替属性の命名規則について知らなかった。あなたは1分で勝つ。 Tomalakにも感謝します。 – emrys57
面白い!私はさらに調査を行い、私の発見を@ sinanakyaziciの答えに追加する自由を取った。 – Jeroen
@Jeroen非常に良い発見。私はKOソースのどこかで 'dash-name'から' propertyName'への変換関数を見たので、彼らは "正しいこと"をすると思いました。明らかに彼らはしません。 – Tomalak