recursal/MDN huggingface dataset:
Element: setPointerCapture() メソッド
=================================

**`setPointerCapture()`** は `Element` インターフェイスのメソッドで、特定の要素をこれ以降のポインターイベントの*キャプチャターゲット*として指定するために使用します。（`Element.releasePointerCapture()` を介して、または `pointerup` イベントが発生して）キャプチャが解放されるまで、それ以降のポインターのイベントはキャプチャ要素をターゲットにします。

**メモ:** ポインターキャプチャ設定後、それ以降のポインターイベントはキャプチャ対象の要素内で発生したとみなされます。よって、 `pointerover`、`pointerenter`、`pointerleave`、`pointerout` は**発生しません**。
 タッチ画面の機器などで直接操作をしているブラウザーでは、 `pointerdown` イベント発生時に要素に対してポインターキャプチャが自動的に適用されます。ポインターキャプチャの解放は `element.releasePointerCapture` メソッドを手動で呼び出したとき、または `pointerup` もしくは `pointercancel` イベント発生時に自動的に行われます。


### ポインターキャプチャの概要

*ポインターキャプチャ*では、ポインターの位置にある通常 (または*ヒットテスト*) のターゲットではなく、特定の*ポインターイベント* (`PointerEvent`) のイベントを特定の要素にターゲットしなおすことができます。 これは、ポインターデバイスの接触が要素から外れた場合でも、（スクロールやパンなどで）要素がポインターイベントを受信し続けるようにするために使用できます。

構文
--


```js
setPointerCapture(pointerId)
```

### 引数

`pointerId`

`PointerEvent` オブジェクトの `pointerId`。

### 返値

なし (`undefined`)。

### 例外

`NotFoundError` `DOMException`

`pointerId` がアクティブなポインターのいずれにも一致しなかった場合に発生します。

例
-

この例では、 `<div>` を押下するとポインターキャプチャが設定されます。これにより、ポインターをその境界の外側に移動した場合でも、要素を水平方向にスライドさせることができます。

### HTML


```html
<div id="slider">SLIDE ME</div>
```

### CSS


```css
div {
  width: 140px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fbe;
}
```

### JavaScript


```js
function beginSliding(e) {
  slider.onpointermove = slide;
  slider.setPointerCapture(e.pointerId);
}

function stopSliding(e) {
  slider.onpointermove = null;
  slider.releasePointerCapture(e.pointerId);
}

function slide(e) {
  slider.style.transform = `translate(${e.clientX - 70}px)`;
}

const slider = document.getElementById("slider");

slider.onpointerdown = beginSliding;
slider.onpointerup = stopSliding;
```

### 結果

仕様書
---

| Specification |
| --- |
| Pointer Events # dom-element-setpointercapture |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Element.releasePointerCapture`
* ポインターイベント
Element: ariaOrientation プロパティ
==============================

**`ariaOrientation`** は `Element` インターフェイスのプロパティで、この要素の方向が横方向、縦方向、または不明/あいまいであることを示す `aria-orientation` (en-US) 属性を反映します。

値
-

以下のいずれかの値を持つ文字列です。

`"horizontal"`

この要素は横方向です。

`"vertical"`

この要素は縦方向です。

`"undefined"`

この要素の方向は不明です。

例
-

この例では、IDが `handle_zoomSlider` の要素の `aria-orientation` (en-US) 属性は "`vertical`" に設定されています。`ariaOrientation` を使用して値を "`horizontal`" に更新します。


```html
<div
 id="handle\_zoomSlider"
 role="slider"
 aria-orientation="vertical"
 aria-valuemin="0"
 aria-valuemax="17"
 aria-valuenow="14"
 tabindex="0">
  <span>11</span>
</div>
```



```js
let el = document.getElementById("handle\_zoomSlider");
console.log(el.ariaOrientation); // "vertical"
el.ariaOrientation = "horizontal";
console.log(el.ariaOrientation); // "horizontal"
```

仕様書
---

| Specification |
| --- |
| Accessible Rich Internet Applications (WAI-ARIA) # dom-ariamixin-ariaorientation |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Element: ariaLive プロパティ
=======================

**`ariaLive`** は `Element` インターフェイスのプロパティで、要素が更新されることを示す `aria-live` 属性の値を反映し、ユーザーエージェント、支援技術、ユーザーがライブ領域から期待できる更新の種類を記述します。

値
-

以下のいずれかの値を持つ文字列です。

`"assertive"`

その領域への更新が最も優先度が高く、ユーザーにすぐに表示する必要があることを示します。

`"off"`

ユーザーがその領域にフォーカスしていない限り、その領域の更新をユーザーに表示しないことを示します。

`"polite"`

現在の文を話し終わるときや、ユーザーが入力するのを一時停止したときなど、次の猶予のある機会に領域を更新することを説明しています。

例
-

この例では、ID が `planetInfo` の要素の `aria-live` (en-US) 属性は "polite" に設定されています。次に、値を "assertive" に更新します。


```html
<div role="region" id="planetInfo" aria-live="polite">
  <h2 id="planetTitle">No planet selected</h2>
  <p id="planetDescription">Select a planet to view its description</p>
</div>
```



```js
let el = document.getElementById("planetInfo");
console.log(el.ariaLive); // "polite"
el.ariaLive = "assertive";
console.log(el.ariaLive); // assertive
```

仕様書
---

| Specification |
| --- |
| Accessible Rich Internet Applications (WAI-ARIA) # dom-ariamixin-arialive |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Element: getAttribute() メソッド
============================

**`getAttribute()`** は `Element` インターフェイスのメソッドで、この要素の指定された属性の値を返します。

指定された属性が存在しない場合、値は `null` か `""` （空文字列）のどちらかになります。詳しくは属性が存在しない場合を参照してください。

構文
--


```js
getAttribute(attributeName)
```

### 引数

* `attributeName` は値を取得したい属性の名前です。
### 返値

`attributeName` の値の入った文字列です。

例
-


```html
<!-- HTML 文書内の div の例 -->
<div id="div1">Hi Champ!</div>
```



```js
// コンソールへの出力
const div1 = document.getElementById("div1");
//=> <div id="div1">Hi Champ!</div>

const exampleAttr = div1.getAttribute("id");
//=> "div1"

const align = div1.getAttribute("align");
//=> null
```

解説
--

### 小文字化

HTML 文書とされている DOM の HTML 要素に対して呼び出すと、 `getAttribute()` は処理前に引数を小文字化します。

### 属性が存在しない場合

現代のウェブブラウザーはすべて、指定された要素に指定された属性が存在しない場合は `null` を返します。

### ノンス値の受け取り

セキュリティ上の理由で、スクリプト以外、例えば CSS セレクターから来た CSP のノンスと、 `.getAttribute("nonce")` の呼び出しは隠蔽されます。


```js
let nonce = script.getAttribute("nonce");
// 空文字列が返される
```


コンテンツ属性のノンスをるには、代わりに `nonce` プロパティを使用してください。


```js
let nonce = script.nonce;
```

仕様書
---

| Specification |
| --- |
| DOM Standard # ref-for-dom-element-getattribute① |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Element: gotpointercapture イベント
===============================

**`gotpointercapture`** イベントは、要素が `setPointerCapture()` を使用してポインターをキャプチャしたときに発生します。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("gotpointercapture", (event) => {});

ongotpointercapture = (event) => {};
```

イベント型
-----

`PointerEvent` です。`Event` を継承しています。

Event

UIEvent

MouseEvent

PointerEventイベントプロパティ
---------

*このインターフェイスは `MouseEvent` および `Event` からプロパティを継承しています。*

`PointerEvent.pointerId` 読取専用 

イベントを発生させたポインターの固有の識別子です。

`PointerEvent.width` 読取専用 

ポインターが接触するジオメトリーの幅（X 軸の大きさ、CSS ピクセル単位）。

`PointerEvent.height` 読取専用 

ポインターが接触するジオメトリーの高さ（Y 軸の大きさ、CSS ピクセル単位）。

`PointerEvent.pressure` 読取専用 

ポインター入力の正規化された圧力で、範囲は `0` から `1` です。ここで `0` と `1` は、それぞれハードウェアが検出可能な最小圧力と最大圧力を表します。

`PointerEvent.tangentialPressure` 読取専用 

ポインタ入力の正規化された接線圧力（バレル圧力またはシリンダー応力（cylinder stress）とも呼ばれます）で、 `-1` から `1` の範囲であり、 `0` はコントロールの中立位置です。

`PointerEvent.tiltX` 読取専用 

Y-Z 平面と、ポインター（ペンスタイラスなど）の軸と Y 軸の両方を含む平面との間の平面角度（度単位、 `-90` から `90` の範囲）。

`PointerEvent.tiltY` 読取専用 

X-Z 平面と、ポインター（ペンスタイラスなど）の軸と X 軸の両方を含む平面との間の平面角度（度単位、 `-90` から `90` の範囲）。

`PointerEvent.twist` 読取専用 

ポインター（ペンスタイラスなど）の長軸を中心とした時計回りの回転の度数（`0` から `359` の範囲の値）。

`PointerEvent.pointerType` 読取専用 

イベントの原因となった機器の種類（マウス、ペン、タッチなど）を示します。

`PointerEvent.isPrimary` 読取専用 

このポインターがこのポインター種別の主ポインターを表すかどうかを示します。

例
-

この例は `<p>` 要素を取得し、 `gotpointercapture` イベントを待ち受けします。 `setPointerCapture()` を `pointerdown` イベントの要素上で呼び出し、 `gotpointercapture` を発生させます。


```js
const para = document.querySelector("p");

para.addEventListener("gotpointercapture", () => {
  console.log("I've been captured!");
});

para.addEventListener("pointerdown", (event) => {
  para.setPointerCapture(event.pointerId);
});
```


同じ例ですが、`ongotpointercapture` イベントハンドラーを使用して行います。


```js
const para = document.querySelector("p");

para.ongotpointercapture = () => {
  console.log("I've been captured!");
};

para.addEventListener("pointerdown", (event) => {
  para.setPointerCapture(event.pointerId);
});
```

仕様書
---

| Specification |
| --- |
| Pointer Events # the-gotpointercapture-event |
| Pointer Events # dom-globaleventhandlers-ongotpointercapture |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 関連イベント
    + `lostpointercapture`
    + `pointerover`
    + `pointerenter`
    + `pointerdown`
    + `pointermove`
    + `pointerup`
    + `pointercancel`
    + `pointerout`
    + `pointerleave`
Element: ariaRowSpan プロパティ
==========================

**`ariaRowSpan`** は `Element` インターフェイスのプロパティで、表、グリッド、ツリーグリッド内のセルやグリッドセルにまたがる行数を定義する `aria-rowspan` (en-US) 属性の値を反映します。

値
-

整数の入った文字列です。

例
-

この例では、`spanning-heading` という ID を持つ要素の `aria-rowspan` 属性は "3" に設定されています。`ariaRowSpan` を使用して、値を "2" に更新します。


```html
<table>
  <tr>
    <th id="spanning-heading" rowspan="3" aria-rowspan="3">Spanning heading</th>
    <th>Heading</th>
  </tr>
  <tr>
    <td>One</td>
  </tr>
  <tr>
    <td>Two</td>
  </tr>
</table>
```



```js
let el = document.getElementById("spanning-heading");
console.log(el.ariaRowSpan);
el.ariaRowSpan = "2";
console.log(el.ariaRowSpan);
```

仕様書
---

| Specification |
| --- |
| Accessible Rich Internet Applications (WAI-ARIA) # dom-ariamixin-ariarowspan |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* ARIA: table ロール
Element: fullscreenchange イベント
==============================

`fullscreenchange` イベントは、ある要素 (`Element`) が全画面モードに切り替わったり、終了したりした直後に発生します。

このイベントは、全画面モードに移行しようとしている、あるいは全画面モードから脱出しようとしている `Element` に送られます。

`Element` が全画面モードに移行しようとしているのか、終了しようとしているのかを判別するには、 `Document.fullscreenElement` の値をチェックしてください。この値が `null` ならば、要素が全画面モードを終了するところであり、そうでなければ全画面モードに移行するところです。

このイベントはキャンセルできません。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("fullscreenchange", (event) => {});

onfullscreenchange = (event) => {};
```

イベント型
-----

一般的な `Event` です。

例
-

この例では、 `fullscreenchange` イベントのハンドラーは、 ID が `fullscreen-div` である要素に追加されます。

ユーザーが "Toggle Fullscreen Mode" ボタンをクリックすると、 `click` ハンドラーが `div` の全画面モードを切り替えます。もし `document.fullscreenElement` に値があれば、全画面モードを終了します。そうでなければ、 div は全画面モードに移行します。

`fullscreenchange` イベントが処理されたとき、要素の状態はすでに変化していることを思い出してください。よって、全画面モードへ変化した場合は、 `document.fullscreenElement` が全画面モードになった要素を指します。一方、 `document.fullscreenElement` が null の場合は、全画面モードが取り消されています。

すなわち、この例のコードでは、要素が現在全画面モードである場合、 `fullscreenchange` ハンドラーはコンソールへ全画面の要素の `id` をログ出力します。 `document.fullscreenElement` が null の場合は、このコードは全画面モードが終了した旨をログ出力します。

### HTML


```html
<h1>fullscreenchange event example</h1>
<div id="fullscreen-div">
  <button id="toggle-fullscreen">Toggle Fullscreen Mode</button>
</div>
```

### JavaScript


```js
function fullscreenchanged(event) {
  // document.fullscreenElement は、全画面モードにある要素があれば
  // それを指します。要素がなければ、このプロパティの値は null に
  // あります。
  if (document.fullscreenElement) {
    console.log(
      `Element: ${document.fullscreenElement.id} entered fullscreen mode.`,
    );
  } else {
    console.log("Leaving fullscreen mode.");
  }
}

const el = document.getElementById("fullscreen-div");

el.addEventListener("fullscreenchange", fullscreenchanged);
// or
el.onfullscreenchange = fullscreenchanged;

// トグルボタンがクリックされたら、全画面モードを切り替える
document
  .getElementById("toggle-fullscreen")
  .addEventListener("click", (event) => {
    if (document.fullscreenElement) {
      // exitFullscreen は Document オブジェクトでのみ使用可
      document.exitFullscreen();
    } else {
      el.requestFullscreen();
    }
  });
```

仕様書
---

| Specification |
| --- |
| Fullscreen API Standard # handler-document-onfullscreenchange |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* Document: fullscreenchange イベント
* Element: fullscreenerror イベント
* 全画面 API
* 全画面 API のガイド
Element: childElementCount プロパティ
================================

**`Element.childElementCount`** は読み取り専用のプロパティで、この要素の子要素の数を返します。

例
-


```js
let sidebar = document.getElementById("sidebar");
if (sidebar.childElementCount > 0) {
  // 何かを行う
}
```

仕様書
---

| Specification |
| --- |
| DOM Standard # dom-parentnode-childelementcount |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Document.childElementCount`
* `DocumentFragment.childElementCount`
Element: focusout イベント
======================

**`focusout`** イベントは、要素がフォーカスを失おうとしているときに発生します。このイベントと `blur` との主な違いは、 `focusout` がバブリングするのに対し `blur` はしないことです。

`focusout` の反対は `focusin` であり、こちらは要素がフォーカスを受け取ったときに発生します。

`focusout` イベントはキャンセル不可です。

構文
--

このイベント名を `addEventListener()` 等のメソッドで使用してください。


```js
addEventListener("focusout", (event) => {});
```

イベント型
-----

`FocusEvent` です。 `Event` を継承しています。

Event

UIEvent

FocusEventイベントプロパティ
---------

*親である `UIEvent` および間接的に `Event` から継承したプロパティもあります*。

`FocusEvent.relatedTarget`

もしあれば、フォーカスを受け取った要素。

例
-

### ライブデモ

#### HTML


```html
<form id="form">
  <label>
    テキストを入力:
    <input type="text" placeholder="テキストを入力" />
  </label>
  <label>
    パスワード:
    <input type="password" placeholder="password" />
  </label>
</form>
```


#### JavaScript


```js
const form = document.getElementById("form");

form.addEventListener("focusin", (event) => {
  event.target.style.background = "pink";
});

form.addEventListener("focusout", (event) => {
  event.target.style.background = "";
});
```


#### 結果

仕様書
---

| Specification |
| --- |
| UI Events # event-type-focusout |

**メモ:** *UI Events* 仕様書ではフォーカスイベントの順序を記述していますが、現在のブラウザーの実装とは異なります。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 関連イベント: `blur`, `focus`, `focusin`
* Focusing: focus/blur
Element: webkitmouseforcechanged イベント
=====================================

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

標準外の **`webkitmouseforcechanged`** イベントは、トラックパッド/タッチ画面の圧力が変化するたびに Safari によって発生します。

**`webkitmouseforcechanged`** は私有の WebKit 固有のイベントで、Apple がタッチ圧力イベント (en-US)機能に対応するために導入しました。

このイベントは `mousedown` イベントの後に発生し始め、`mouseup` イベントが発生する前に停止します。

構文
--

このイベント名を `addEventListener()` 等のメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("webkitmouseforcechanged", (event) => {});

onwebkitmouseforcechanged = (event) => {};
```

イベント型
-----

`MouseEvent` です。 `Event` を継承しています。

Event

UIEvent

MouseEventイベントプロパティ
---------

*親である `UIEvent` および `Event` から継承したプロパティもあります*。

`MouseEvent.altKey` 読取専用 

このマウスイベントが発行されたときに `alt` キーが押されていた場合は `true` を返します。

`MouseEvent.button` 読取専用 

このマウスイベントが発行されたときに押されていたボタンの番号です（もしあれば）。

`MouseEvent.buttons` 読取専用 

このマウスイベントが発行されたときに押されていたボタンです（もしあれば）。

`MouseEvent.clientX` 読取専用 

ビューポート座標におけるマウスポインターの X 座標です。

`MouseEvent.clientY` 読取専用 

ビューポート座標におけるマウスポインターの Y 座標です。

`MouseEvent.ctrlKey` 読取専用 

このマウスイベントが発行されたときに `control` キーが押されていた場合は `true` を返します。

`MouseEvent.layerX` 
Non-standard
 読取専用 

このイベントの現在のレイヤーにおける相対の水平座標を返します。

`MouseEvent.layerY` 
Non-standard
 読取専用 

このイベントの現在のレイヤーにおける相対の垂直座標を返します。

`MouseEvent.metaKey` 読取専用 

このマウスイベントが発行されたときに `meta` キーが押されていた場合は `true` を返します。

`MouseEvent.movementX` 読取専用 

前回の `mousemove` イベントの位置から相対的なマウスポインターの X 座標です。

`MouseEvent.movementY` 読取専用 

前回の `mousemove` イベントの位置から相対的なマウスポインターの Y 座標です。

`MouseEvent.offsetX` 読取専用 

対象ノードのパディング辺からの相対的なマウスポインターの X 座標です。

`MouseEvent.offsetY` 読取専用 

対象ノードのパディング辺からの相対的なマウスポインターの Y 座標です。

`MouseEvent.pageX` 読取専用 

文書全体からの相対的なマウスポインターの X 座標です。

`MouseEvent.pageY` 読取専用 

文書全体からの相対的なマウスポインターの Y 座標です。

`MouseEvent.relatedTarget` 読取専用 

もしあれば、イベントの副ターゲットです。

`MouseEvent.screenX` 読取専用 

スクリーン座標におけるマウスポインターの X 座標です。

`MouseEvent.screenY` 読取専用 

スクリーン座標におけるマウスポインターの Y 座標です。

`MouseEvent.shiftKey` 読取専用 

このマウスイベントが発行されたときに `shift` キーが押されていた場合は `true` を返します。

`MouseEvent.mozInputSource` 
Non-standard
 読取専用 

 イベントを発生させた機器の種類（`MOZ_SOURCE_*` 定数のいずれか）。
 これにより、例えばマウスイベントが実際のマウスによって生成されたのか、タッチイベントによって生成されたのかを判断することができます（これはイベントに関連付けられた座標を解釈する精度に影響するかもしれません）。


`MouseEvent.webkitForce` 
Non-standard
 読取専用 

クリックしたときに適用された圧力です。

`MouseEvent.x` 読取専用 

`MouseEvent.clientX` の別名です。

`MouseEvent.y` 読取専用 

`MouseEvent.clientY` の別名です。

仕様書
---

*どの仕様書にも含まれていません。* Apple はMac Developer Library で説明しています。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* タッチ圧力イベント (en-US)
* `webkitmouseforcewillbegin`
* `webkitmouseforcedown`
* `webkitmouseforceup`
Element: scrollTopMax プロパティ
===========================

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

**`Element.scrollTopMax`** は読み取り専用のプロパティで、この要素で可能な最大の上スクロールオフセットを表す数値を返します。

値
-

数値です。

仕様書
---

*このプロパティはどの仕様書にも含まれていません。*

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 他の軸で同じ情報を提供する `Element.scrollLeftMax`。
Element: pointerout イベント
========================

`pointerout` イベントはいくつかの理由で発生します。ポインティングデバイスが要素の*ヒットテスト*境界を出たとき、ホバーに対応していない端末で `pointerup` イベントが発生したとき (`pointerup` を参照)、 `pointercancel` イベントが発生した後 (`pointercancel` を参照)、スタイラスペンがデジタイザーで検出可能なホバー範囲を離れたとき、などです。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("pointerout", (event) => {});

onpointerout = (event) => {};
```

イベント型
-----

`PointerEvent` です。 `Event` を継承しています。

Event

UIEvent

MouseEvent

PointerEventイベントプロパティ
---------

*このインターフェイスは `MouseEvent` および `Event` からプロパティを継承しています。*

`PointerEvent.pointerId` 読取専用 

イベントを発生させたポインターの固有の識別子です。

`PointerEvent.width` 読取専用 

ポインターが接触するジオメトリーの幅（X 軸の大きさ、CSS ピクセル単位）。

`PointerEvent.height` 読取専用 

ポインターが接触するジオメトリーの高さ（Y 軸の大きさ、CSS ピクセル単位）。

`PointerEvent.pressure` 読取専用 

ポインター入力の正規化された圧力で、範囲は `0` から `1` です。ここで `0` と `1` は、それぞれハードウェアが検出可能な最小圧力と最大圧力を表します。

`PointerEvent.tangentialPressure` 読取専用 

ポインタ入力の正規化された接線圧力（バレル圧力またはシリンダー応力（cylinder stress）とも呼ばれます）で、 `-1` から `1` の範囲であり、 `0` はコントロールの中立位置です。

`PointerEvent.tiltX` 読取専用 

Y-Z 平面と、ポインター（ペンスタイラスなど）の軸と Y 軸の両方を含む平面との間の平面角度（度単位、 `-90` から `90` の範囲）。

`PointerEvent.tiltY` 読取専用 

X-Z 平面と、ポインター（ペンスタイラスなど）の軸と X 軸の両方を含む平面との間の平面角度（度単位、 `-90` から `90` の範囲）。

`PointerEvent.twist` 読取専用 

ポインター（ペンスタイラスなど）の長軸を中心とした時計回りの回転の度数（`0` から `359` の範囲の値）。

`PointerEvent.pointerType` 読取専用 

イベントの原因となった機器の種類（マウス、ペン、タッチなど）を示します。

`PointerEvent.isPrimary` 読取専用 

このポインターがこのポインター種別の主ポインターを表すかどうかを示します。

例
-

`addEventListener()` を使用した例です。


```js
const para = document.querySelector("p");

para.addEventListener("pointerout", (event) => {
  console.log("Pointer moved out");
});
```


`onpointerout` イベントハンドラープロパティを使用した例です。


```js
const para = document.querySelector("p");

para.onpointerout = (event) => {
  console.log("Pointer moved out");
};
```

仕様書
---

| Specification |
| --- |
| Pointer Events # the-pointerout-event |
| Pointer Events # dom-globaleventhandlers-onpointerout |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 関連イベント
    + `gotpointercapture`
    + `lostpointercapture`
    + `pointerover`
    + `pointerenter`
    + `pointerdown`
    + `pointermove`
    + `pointerup`
    + `pointercancel`
    + `pointerleave`
Element: getAttributeNode() メソッド
================================

この要素の指定された属性を、`Attr` ノードとして返します。

構文
--


```js
getAttributeNode(attrName)
```

### 引数

* `attrName` は属性の名前を表す文字列です。
### 返値

指定の属性の `Attr` ノードです。

例
-


```js
// html: <div id="top" />
let t = document.getElementById("top");
let idAttr = t.getAttributeNode("id");
alert(idAttr.value === "top");
```

メモ
--

HTML 文書としてフラグが立てられた DOM 内の HTML 要素に対して呼び出された場合、`getAttributeNode` は処理前に引数を小文字にします。

`Attr` ノードは `Node` を継承していますが、文書ツリーの一部と考えることはできません。一般の `Node` 属性、例えば parentNode、 previousSibling、nextSibling などは `Attr` ノードでは `null` になります。しかしながら、 `ownerElement` プロパティではこの属性が属している要素を取得することができます。

要素の属性の値を取得するためには、通常 `getAttributeNode` の代わりに getAttribute が使用されます。

DOM メソッドは要素の属性を取り扱います。

| 名前空間に無関係、最も一般的に使用されるメソッド | 名前空間に限定される変数(DOM Level 2) | `Attr` ノードを直接扱う DOM レベル 1 のメソッド(ほとんど使用されない) | `Attr` ノードを直接扱う DOM レベル 2 名前空間に限定されるメソッド(ほとんど使用されない) |
| --- | --- | --- | --- |
| `setAttribute` (DOM 1) | `setAttributeNS` | `setAttributeNode` | `setAttributeNodeNS` |
| `getAttribute` (DOM 1) | `getAttributeNS` | `getAttributeNode` | `getAttributeNodeNS` |
| `hasAttribute` (DOM 2) | `hasAttributeNS` | - | - |
| `removeAttribute` (DOM 1) | `removeAttributeNS` | `removeAttributeNode` | - |

仕様書
---

| Specification |
| --- |
| DOM Standard # dom-element-getattributenode |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Element: getElementsByTagNameNS() メソッド
======================================

**`Element.getElementsByTagNameNS()`** メソッドは、指定された名前空間に属する、指定されたタグ名を持つ要素の `HTMLCollection` をライブで返します。これは `Document.getElementsByTagNameNS` に似ていますが、検索対象が指定された要素の子孫に限定される点が異なります。

構文
--


```js
getElementsByTagNameNS(namespaceURI, localName)
```

### 引数

* `namespaceURI` は検索する要素の名前空間 URI です（`Element.namespaceURI` および `Attr.namespaceURI` を参照してください）。例えば、XHTML 要素を検索する場合は、XHTML の名前空間 URI である `http://www.w3.org/1999/xhtml` を使用してください。
* `localName` は検索する要素のローカル名、またはすべての要素に一致する特殊な値 `"*"` です（`Element.localName` および `Attr.localName` を参照）。
### 返値

生きた `HTMLCollection` で、ツリー内で見つかった要素を出現順に保持します。

例
-


```js
// XHTML 文書の table の多くのセルの配列をチェック。
const table = document.getElementById("forecast-table");
const cells = table.getElementsByTagNameNS(
  "http://www.w3.org/1999/xhtml",
  "td",
);

for (const cell of cells) {
  const axis = cell.getAttribute("axis");
  if (axis === "year") {
    // データを取得
  }
}
```

仕様書
---

| Specification |
| --- |
| DOM Standard # dom-element-getelementsbytagnamens |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Element: scrollLeftMax プロパティ
============================

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

**`Element.scrollLeftMax`** は読み取り専用のプロパティで、この要素で可能な最大の左スクロールオフセットを表す数値を返します。

値
-

数値です。

仕様書
---

*このプロパティはどの仕様書にも含まれていません。*

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 他の軸で同じ情報を提供する `Element.scrollTopMax`。