inert - 不活性化

属性

<tagName inert> - 不活性化

サポート状況

https://caniuse.com/mdn-html_global_attributes_inert

説明

「inert」は「不活性な」という意味を持ちます。inert 属性を指定した要素およびその子孫要素を不活性化します。不活性化された要素は表示はそのままですが下記などがすべて無効化されます。

下記の様に使用します。

HTML
<div inert>
  <!-- 不活性なコンテンツ -->
</div>

JavaScript を用いて制御するには次のようにします。

JavaScript
document.getElementById(id).inert = true;

使用例としては自作のダイアログや popover="manual" のダイアログを表示した際に、ダイアログ以外のコンテンツを不活性にして入力を受け付けないようにする際に役立ちます。下記の例では、ダイアログが開いている間 <input type="text"> などの部品が入力を受け付けなくなります。使用例は <popover> を参照してください。

その他にも下記のようなケースの代用として役立ちます。

親要素に inert=true を指定すると子孫要素に inert=false を指定しても部分的に不活性を解除することはできないので注意してください。

HTML
<div id="parent">
 <input type="text">
 <div id="child"><input type="text"></div>
</div>

<script>
document.getElementById("parent").inert = true;
document.getElementById("child").inert = false;   // 一部の子孫要素のみを不活性解除することはできない
</script>