我在我的代碼中使用jQuery color picker plugin,但它似乎不與KnockoutJS一起工作,因爲它不更新我的觀察值,當我試圖輸出值。jQuery顏色選擇器編輯不在Knockout可觀察到
我有一個輸入框,在這裏我應該能夠選擇一種顏色:
<input class="colorpicker" id="bgcolor-one" name="bgcolor-one" type="text" data-bind="value: backgroundColor">
<br />
<span data-bind="text:backgroundColor">OUTPUT VALUE HERE</span>
在我的ViewModel我有:
self.backgroundColor = ko.observable("333333");
然而,使用顏色拾取時,有不更新
<span data-bind="text:backgroundColor">OUTPUT VALUE HERE</span>
當ColorPicker的代碼:
$('.colorpicker').colpick({
colorScheme: 'dark',
layout: 'hex',
color: 'ff8800',
onChange:function(hsb,hex,rgb,el,bySetColor) {
$(el).css('border-color','#'+hex);
// Fill the text box just if the color was set using the picker, and not the colpickSetColor function.
if (!bySetColor) $(el).val(hex);
},
onSubmit: function (hsb, hex, rgb, el) {
$(el).css('background-color', '#' + hex);
$(el).val(hex);
$(el).colpickHide();
}
})
你不應該改變模型上的值(例如somescope.backgroundColor(hexValue);)而不是直接操縱元素的CSS樣式? –
模型的值應該更新爲:$(el).val(hex); – nuffsaid