我想根据某些条件禁用一部分 HTML 表单元素。这似乎是做到这一点的理想方式:
<fieldset disabled>
<input value="one" />
<input value="two" />
</fieldset>
现在,这两个输入被禁用。但是,这在 IE8 上似乎完全无聊。输入显示为已禁用,但我仍然可以输入它们。
小提琴(不像 JsFiddle 真的在 IE8 中工作)
是否有针对此问题的跨浏览器解决方案,而无需为每个表单元素添加禁用(这会使我的脚本复杂化)。我可能会做一些棘手的事情,比如<fieldset>
在 jQuery 中选择,然后.each()
通过所有表单元素并禁用它们 - 但是,我实际上是disabled
使用 Knockout 绑定设置属性,所以真的没有地方添加这样的代码。我最后的手段是使用自定义的 Knockout 绑定,它也会禁用所有的孩子,但是 le sigh。