我尝试在更新绑定到淘汰赛 observablearray 的项目时将 JQuery UI 突出显示效果应用于元素。
应用了高亮效果,但使用的高亮颜色始终是元素的当前背景颜色。即使我使用 { color: 'XXXXXXX' } 选项指定突出显示颜色。
任何想法可能会发生什么?
谢谢,史蒂夫。
下面的代码:元素是 span.tag
<div class="row">
<div class="span12">
<div class="tagsinput favs span12" style="height: 100%;" data-bind="foreach: favs, visible: favs().length > 0">
<span class="tag" data-bind="css: $root.selectedFav() == userPrefID() ? 'selected-fav' : '', attr: { id: 'fav_' + userPrefID() }">
<span data-bind="text: name, click: $root.loadFav.bind($data)"></span>
<a class="tagsinput-fav-link"><i class="icon-trash" data-bind="click: $root.delFav.bind($data)"></i></a>
<a class="tagsinput-fav-link-two" data-bind="visible: $root.selectedFav() == userPrefID()"><i class="icon-save" data-bind=" click: $root.saveFav.bind($data)""></i></a>
</span>
</div>
</div>
</div>
// 这是通过 ajax 进行保存然后在完成时突出显示元素的代码。
$.getJSON('@Url.Action("SaveFav","User")', { id: item.userPrefID(), fav: window.JSON.stringify(fav) }, function (result) {
var savedFav = ko.utils.arrayFirst(self.favs(), function (aFav) {
return aFav.userPrefID() == result.userPrefID; // <-- is this the desired fav?
});
// Fav found?
if (savedFav) {
// Update the fav!
savedFav.value(result.value);
}
}).done(function () {
var elementID = "#fav_" + item.userPrefID();
highlightElement(elementID);
});
// 突出显示元素的函数
function highlightElement(element) {
$(element).effect("highlight", {}, 1500);
}