diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-01-18 16:14:57 +0900 |
---|---|---|
committer | potappo <potappo@gmail.com> | 2022-01-22 17:21:04 +0900 |
commit | a6dd4cb59fe3d8b533774938430bbbcb337344ba (patch) | |
tree | ebd7c70cc91402f9153ce9d92d5f7740cfe68b10 /files | |
parent | 6a954ff48e963f25a2a78ab128f2a9d64cf2a287 (diff) | |
download | translated-content-a6dd4cb59fe3d8b533774938430bbbcb337344ba.tar.gz translated-content-a6dd4cb59fe3d8b533774938430bbbcb337344ba.tar.bz2 translated-content-a6dd4cb59fe3d8b533774938430bbbcb337344ba.zip |
2021/09/15 時点の英語版に同期
Diffstat (limited to 'files')
-rw-r--r-- | files/ja/web/api/htmlslotelement/slotchange_event/index.md | 113 |
1 files changed, 53 insertions, 60 deletions
diff --git a/files/ja/web/api/htmlslotelement/slotchange_event/index.md b/files/ja/web/api/htmlslotelement/slotchange_event/index.md index 295a4cd715..061141b5f3 100644 --- a/files/ja/web/api/htmlslotelement/slotchange_event/index.md +++ b/files/ja/web/api/htmlslotelement/slotchange_event/index.md @@ -3,81 +3,74 @@ title: 'HTMLSlotElement: slotchange イベント' slug: Web/API/HTMLSlotElement/slotchange_event tags: - Event - - Reference - - Webコンポーネント - - events - - slotchange - - イベント + - リファレンス - ウェブコンポーネント - - 仮想DOM + - イベント + - シャドウ DOM + - slotchange +browser-compat: api.HTMLSlotElement.slotchange_event translation_of: Web/API/HTMLSlotElement/slotchange_event --- -<div>{{APIRef}}</div> +{{APIRef}} -<p><span class="seoSummary"><code><strong>slotchange</strong></code> イベントは、 {{DOMxRef("HTMLSlotElement")}} インスタンス({{HTMLElement("slot")}} 要素) において、そのスロットが含まれるノードが変更された場合に発生します。</span></p> +**`slotchange`** イベントは、 {{DOMxRef("HTMLSlotElement")}} インスタンス({{HTMLElement("slot")}} 要素) において、そのスロットに含まれるノードが変更された場合に発行されます。 -<div class="note"> -<p><strong>メモ:</strong> スロットされたノードの子ノードが変更された場合、 <code>slotchange</code> イベントは発生しません。つまり実際のノード自体を変更 (例えば、追加または削除) した場合に限ります。</p> -</div> +> **Note:** スロットに入っているノードの子ノードが変更された場合、 `slotchange` イベントは発生しません。つまり実際のノード自体を変更 (例えば、追加または削除) した場合に限ります。 <table class="properties"> - <tbody> - <tr> - <th scope="row">バブリング</th> - <td>あり</td> - </tr> - <tr> - <th scope="row">キャンセル</th> - <td>不可</td> - </tr> - <tr> - <th scope="row">インターフェイス</th> - <td>{{DOMxRef("Event")}}</td> - </tr> - <tr> - <th scope="row">イベントハンドラープロパティ</th> - <td>なし</td> - </tr> - </tbody> + <tbody> + <tr> + <th scope="row">バブリング</th> + <td>あり</td> + </tr> + <tr> + <th scope="row">キャンセル</th> + <td>不可</td> + </tr> + <tr> + <th scope="row">インターフェイス</th> + <td>{{DOMxRef("Event")}}</td> + </tr> + <tr> + <th scope="row">イベントハンドラープロパティ</th> + <td>なし</td> + </tr> + </tbody> </table> -<h2 id="Examples" name="Examples">例</h2> +**slotchange** イベントを発行させるには、 `slot` 属性を設定または削除しなければなりません。 + +## 例 + +```js +element.setAttribute('slot', slotName); +// element.assignedSlot = $slot +element.removeAttribute('slot'); +// element.assignedSlot = null +``` -<p>次のスニペットは、 <a href="https://github.com/mdn/web-components-examples/tree/master/slotchange">slotchange の例</a>から取られています (<a href="https://mdn.github.io/web-components-examples/slotchange/">ライブも参照してください</a>)。</p> +次のスニペットは、 [slotchange の例](https://github.com/mdn/web-components-examples/tree/master/slotchange)から取りました ([ライブでも確認できます](https://mdn.github.io/web-components-examples/slotchange/))。 -<pre class="brush: js">let slots = this.shadowRoot.querySelectorAll('slot'); +```js +let slots = this.shadowRoot.querySelectorAll('slot'); slots[1].addEventListener('slotchange', function(e) { let nodes = slots[1].assignedNodes(); console.log('Element in Slot "' + slots[1].name + '" changed to "' + nodes[0].outerHTML + '".'); -});</pre> - -<p>ここではすべての <code><slot></code> への参照を取得し、テンプレートの2番目のスロットに <code>slotchange</code> イベントリスナーを追加します。この例ではコンテンツが変更されているスロットです。</p> - -<p>スロットに挿入された要素が変更されるたびに、どのスロットが変更されたか、スロット内の新しいノードが何であるかを示すレポートがコンソールに記録されます。</p> - -<h2 id="Specifications" name="Specifications">仕様書</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - <th scope="col">状態</th> - <th scope="col">備考</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName("DOM WHATWG", "#mutation-observers", '"Mutation observers" and slotchange event')}}</td> - <td>{{Spec2("DOM WHATWG")}}</td> - <td>初回定義</td> - </tr> - </tbody> -</table> +}); +``` + +ここではすべての `<slot>` への参照を取得し、テンプレートの 2 番目のスロットに `slotchange` イベントリスナーを追加します。この例ではコンテンツが変更されているスロットです。 + +スロットに挿入された要素が変更されるたびに、どのスロットが変更されたか、スロット内の新しいノードが何であるかを示すレポートがコンソールに記録されます。 + +## 仕様書 + +{{Specifications}} -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> +## ブラウザーの互換性 -<p>{{Compat("api.HTMLSlotElement.slotchange_event")}}</p> +{{Compat}} -<h2 id="See_also" name="See_also">関連情報</h2> +## 関連情報 -<p>{{domxref("HTMLSlotElement")}}</p> +{{domxref("HTMLSlotElement")}} |