diff options
Diffstat (limited to 'files/ja/web/api/element/copy_event/index.html')
-rw-r--r-- | files/ja/web/api/element/copy_event/index.html | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/files/ja/web/api/element/copy_event/index.html b/files/ja/web/api/element/copy_event/index.html new file mode 100644 index 0000000000..c437cde9a8 --- /dev/null +++ b/files/ja/web/api/element/copy_event/index.html @@ -0,0 +1,113 @@ +--- +title: 'Element: copy イベント' +slug: Web/API/Element/copy_event +tags: + - API + - Clipboard API + - Element + - Event + - Reference + - Web + - イベント +translation_of: Web/API/Element/copy_event +--- +<div>{{APIRef}}</div> + +<p><span class="seoSummary"><strong><code>copy</code></strong> イベントは、ユーザーがブラウザーのユーザーインターフェイスからコピー操作を実行したときに発生します。</span></p> + +<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("ClipboardEvent")}}</td> + </tr> + <tr> + <th scope="row">イベントハンドラープロパティ</th> + <td>{{domxref("HTMLElement/oncopy", "oncopy")}}</td> + </tr> + </tbody> +</table> + +<p>このイベントの既定の動作は、 (もしあれば) 選択範囲をクリップボードへコピーすることです。</p> + +<p>このイベントのハンドラーは、 {{domxref("DataTransfer.setData", "setData(format, data)")}} をイベントの {{domxref("ClipboardEvent.clipboardData")}} プロパティに対して呼び出すことで、クリップボードの内容を<em>変更</em>したり、 {{domxref("Event/preventDefault", "event.preventDefault()")}} を使用してイベントの既定の動作を取り消したりすることができます。</p> + +<p>ただし、ハンドラーがクリップボードのデータを<em>読み取る</em>ことはできません。</p> + +<p><a href="/ja/docs/Web/Guide/Events/Creating_and_triggering_events">仮想の</a> <code>copy</code> イベントを構築して配信することもできますが、システムのクリップボードには影響を与えません。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Live_example" name="Live_example">ライブデモ</h3> + +<h4 id="HTML">HTML</h4> + +<pre class="brush: html"><div class="source" contenteditable="true">Try copying text from this box...</div> +<div class="target" contenteditable="true">...and pasting it into this one</div> +</pre> + +<div class="hidden"> +<h4 id="CSS">CSS</h4> + +<pre class="brush: css">div.source, div.target { + border: 1px solid gray; + margin: .5rem; + padding: .5rem; + height: 1rem; + background-color: #e9eef1; +}</pre> +</div> + +<h4 id="JS">JS</h4> + +<pre class="brush: js">const source = document.querySelector('div.source'); + +source.addEventListener('copy', (event) => { + const selection = document.getSelection(); + event.clipboardData.setData('text/plain', selection.toString().toUpperCase()); + event.preventDefault(); +}); +</pre> + +<h4 id="Result" name="Result">結果</h4> + +<p>{{ EmbedLiveSample('Live_example', '100%', '100px') }}</p> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('Clipboard API', '#clipboard-event-copy')}}</td> + <td>{{Spec2('Clipboard API')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.Window.copy_event")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>関連イベント: {{domxref("Window/cut_event", "cut")}}, {{domxref("Window/paste_event", "paste")}}</li> + <li>{{domxref("Document")}} を対象としたこのイベント: {{domxref("Document/copy_event", "copy")}}</li> + <li>{{domxref("Window")}} を対象としたこのイベント: {{domxref("Window/copy_event", "copy")}}</li> +</ul> |