bindingHandler を作成しました:
ko.bindingHandlers.highlight = {
update: function (element, valueAccessor) {
$(element).fadeTo("fast", 0.03);
$(element).fadeTo("fast", 1);
$(element).fadeTo("fast", 0.03);
$(element).fadeTo("fast", 1);
$(element).fadeTo("fast", 0.03);
$(element).fadeTo("fast", 1);
$(element).fadeTo("fast", 0.03);
$(element).fadeTo("fast", 1);
}
};
...そしてそれをobservableArrayにバインドします:
<div data-bind="foreach: contactsInfrastructure">
<div class="contact" data-bind="highlight: Contact">
<div class="contactAvailability">
<div class="contactAvailabilityColor" data-bind="css: "availabilityCssClass"></div>
</div>
<div class="contactName" ><span data-bind="text: name"</span></div>
<!-- <div class="contactNote ellipseText" data-bind="text: group"></div> -->
</div>
</div>
Firefox では正常に動作しますが、Chrome では次のエラーが返されます: Uncaught ReferenceError:
Unable to parse bindings.
Bindings value: highlight: Contact
Message: Contact is not defined
最初はDOMの準備ができていないことが原因かと思っていましたが、そうではありません。