Element: copy イベント
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
copy イベントは、ユーザーがブラウザーのユーザーインターフェイスからコピー操作を実行したときに発生します。
このイベントの既定の動作は、(もしあれば)選択範囲をクリップボードへコピーすることです。
このイベントのハンドラーは、 setData(format, data) をイベントの ClipboardEvent.clipboardData プロパティに対して呼び出すことで、クリップボードの内容を変更したり、 event.preventDefault() を使用してイベントの既定の動作を取り消したりすることができます。
ただし、ハンドラーがクリップボードのデータを読み取ることはできません。
合成した copy イベントを構築して配信することもできますが、システムのクリップボードには影響を与えません。
構文
このイベント名を addEventListener() などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。
js
addEventListener("copy", (event) => {});
oncopy = (event) => {};
イベント型
ClipboardEvent です。 Event から継承しています。
例
>ライブデモ
HTML
html
<div class="source" contenteditable="true">Copy text from this box.</div>
<div class="target" contenteditable="true">And paste it into this one.</div>
JavaScript
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();
});
結果
仕様書
| 仕様書 |
|---|
| Clipboard API and events> # clipboard-event-copy> |
| HTML> # handler-oncopy> |