"readonly"や"disabled"などのスタンドアロン属性でKnockout の "attr" データ バインディングを使用するための推奨される "ベスト プラクティス" の方法は何ですか?
これらの属性は、通常、属性値を属性名に設定することで有効になるという点で特別です (ただし、多くのブラウザーは、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() }" />
「無効」または「読み取り専用」をオフにするクロスブラウザーの方法はありますか? または、アイテムを無効にしたり読み取り専用にしたりしたくない場合に、何もレンダリングしないために使用できるカスタムバインディングのトリックはありますか?