我有可觀察到的結合一個textarea一個隱藏的div像這樣內:可觀察到的不更新時在一個隱藏的div
<span title="sales comment" data-bind="attr: { id: 'sales-'+year() }" style="cursor :pointer;">
<img src="information.png" alt="Add comment" />
</span>
<div data-bind="attr: { id: 'sales-'+year()+'_content' }" style="display : none;">
<textarea data-bind="value: salesComment, valueUpdate: 'keydown'"> </textarea>
</div>
和視圖模型
var FinancialYearViewModel = function(data, parent) {
var self = this;
self.year = ko.observable();
self.salesComment = ko.observable();
};
ko.applyBindings(new FinancialHistoryViewModel(data));
var data = {"year": "2012", "salesComment": "sales comment"}
隱藏的div被用於填充這樣一個qtip工具提示的內容:
$(document).ready(function()
{
$("span[title]").each(function(i) {
content = $("#" + this.id + "_content").html();
$(this).qtip({ content: {
text: content
},
show: {
event: 'click'
},
hide: { event : 'unfocus'}
});
});
});
viewModel綁定ok,並且qtip顯示隱藏div作爲其cont根據需要。但是,當textarea值更改時,viewModel不會更新。
它的工作,當我刪除div中內嵌CSS,即:
<div data-bind="attr: { id: 'sales-'+year()+'_content' }">
<textarea data-bind="value: salesComment, valueUpdate: 'keydown'"> </textarea>
</div>
但我需要爲它的使用,只有當用戶查看qtip隱藏默認div的內容。
任何想法爲什麼這個CSS是防止觀察更新viewModel?
如果div未隱藏,它是否仍會更新? ?我懷疑更新不會發生,因爲qtip更改不會觸發適當的事件。 –