HTML属性`disabled`和`inert`有什么区别?

时间:2018-01-27 06:14:55

标签: html

我试图找出惰性和禁用html属性之间的区别,除了disabled属性的特定性质,只有特定元素才能使用它。这是否意味着inert是一种适用于所有元素的disabled

<div inert>
  <button>This is a button</button>
  <input type="text">
  <input type="button" value="This is an input">
</div>
<div>
  <button disabled>This is a button</button>
  <input type="text" disabled>
  <input type="button" value="This is an input" disabled>
</div>
<div>
  <button>This is a button</button>
  <input type="text">
  <input type="button" value="This is an input">
</div>

2 个答案:

答案 0 :(得分:2)

属性 disabled inert 完全无关,其目的不同。此外, disabled 是一个实际属性,而 inert 仅仅是它所描述概念的定义。

使用 disabled 的目的是阻止用户与input元素进行交互并提交其值,并且仅支持此类元素,而as inert 可以标记为任何元素,它的用途是指示用户代理的行为就好像标记的节点不在用于定位用户交互事件的目的。

HereHTML标准对 inert 所说的内容:

  

当一个节点处于惰性状态时,用户代理必须表现为该节点不存在以便定位用户交互事件,可能会忽略该节点以用于文本搜索用户界面(通常称为“在页面中查找” “),并可能阻止用户选择该节点中的文本。

此外,该标准还有以下两个关于 inert 的说明:

  
      
  1. 当节点处于惰性状态时,通常无法聚焦。作为命令的惰性节点也将被禁用。

  2.   
  3. 此部分未定义或创建任何名为&#34; inert&#34;的内容属性。本节仅定义了一个抽象的惰性概念。

  4.   

答案 1 :(得分:1)

没有HTML属性inert

来自(截至今天的当前版本)WHATWG HTML规范文本:

  

本节未定义或创建名为&#34; inert&#34;的任何内容属性。本节仅定义了一个抽象的惰性概念。

请参阅https://html.spec.whatwg.org/#inert-subtrees HTML标准 - 第6.2节Inert子树