将Knockout 的“attr”数据绑定与“readonly”和“disabled”等独立属性一起使用的建议“最佳实践”方式是什么?
这些属性的特殊之处在于它们通常通过将属性值设置为属性名称来启用(尽管如果您只是在 HTML 中包含没有任何值的属性名称,许多浏览器也可以正常工作):
<input type="text" readonly="readonly" disabled="disabled" value="foo" />
但是,如果您不想应用这些属性,通常的做法是从 HTML 中完全省略它们(而不是像 readonly="false" 那样做):
<input type="text" value="foo" />
Knockout 的“attr”数据绑定不支持这种情况。一旦我提供了一个属性名称,我还需要提供一个值:
<input type="text" data-bind="attr: { 'disabled': getDisabledState() }" />
是否有跨浏览器的方式关闭“禁用”或“只读”?或者,如果我不想禁用该项目或将其设为只读,是否有一个自定义绑定的技巧可以用来不呈现任何内容?