Element: cut イベント
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
cut
イベントは、ユーザーがブラウザーのユーザーインターフェイスから「切り取り」操作を実行したときに発生します。
ユーザーが編集不可能なコンテンツに対して切り取りをしようとすると、cut
イベントは発生しますが、イベントオブジェクトにはデータが入りません。
イベントの既定のアクションは、(もしあれば)選択範囲をクリップボードへコピーして文書からその部分を取り除くことです。
このイベントのハンドラーは、setData(format, data)
をイベントの ClipboardEvent.clipboardData
プロパティに対して呼び出すことで、クリップボードの内容を変更したり、event.preventDefault()
を使用して既定の動作を取り消したりすることができます。
なお、既定の動作を取り消すと、文書の更新が阻止されます。そのため、「切り取り」の既定の動作をエミュレートしたい場合は、イベントハンドラーでクリップボードを操作するとともに、文書から選択範囲を手動で取り除かなければなりません。
このハンドラーがクリップボードのデータを読み取ることはできません。
合成した cut
イベントを構築して配信することもできますが、システムのクリップボードには影響を与えません。
構文
このイベント名を addEventListener()
などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。
addEventListener("cut", (event) => {});
oncut = (event) => {};
イベント型
ClipboardEvent
です。 Event
から継承しています。
例
ライブデモ
HTML
<div class="source" contenteditable="true">Cut text from this box.</div>
<div class="target" contenteditable="true">And paste it into this one.</div>
JS
const source = document.querySelector("div.source");
source.addEventListener("cut", (event) => {
const selection = document.getSelection();
event.clipboardData.setData("text/plain", selection.toString().toUpperCase());
selection.deleteFromDocument();
event.preventDefault();
});
結果
仕様書
Specification |
---|
Clipboard API and events # clipboard-event-cut |
HTML Standard # handler-oncut |
ブラウザーの互換性
BCD tables only load in the browser