打字稿HTMLElement禁用1.4到1.6发生了什么(TS2339)?

时间:2015-09-22 12:28:01

标签: typescript visual-studio-2015

我一直在使用Visual Studio 2013和1.4版本的TS语言开发TypeScript项目。刚才我升级了使用TS 1.6的Visual Studio 2015。

我有使用HTMLElement的“disabled”属性的代码: var e:HTMLElement = ... e.disabled = true;

VS 2015 / TS 1.6现在给我错误代码TS2339:“属性'已禁用'在”HTMLElement“类型上不存在。

哇! 'disabled'是一个DOM属性,它曾经在我的代码中执行某些操作,现在它已不再定义了?它去了哪里,我该如何处理?

我仔细阅读了TS版本中的“新内容”注释,从1.4到1.6,但在此问题上无话可说。

2 个答案:

答案 0 :(得分:5)

HTMLElement接口不包含disabled属性,因为它不是对所有HTML元素都有意义的属性。但是,它的孩子HTMLInputElementHTMLButtonElement等等,因为disabled属性对他们有意义。

考虑到这一点,您应该能够轻松纠正您的代码。

答案 1 :(得分:4)

MDN topics相对应,班级HTMLElement没有disabled等属性。这就是Typescript开发团队纠正这个Web API对象的原因