Hello-
Browsers want to support elements that just readonly on them, so you would need a binding that adds/removes the attribute.
Here is something basic that works in IE, Chrome, and FF:
ko.bindingHandlers.readOnly = {
update: function(element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
if (value) {
element.setAttribute("readOnly", true);
} else {
element.removeAttribute("readOnly");
}
}