--- title: HTMLElement.oncopy slug: Web/API/HTMLElement/oncopy tags: - API - Event Handler - Experimental - HTMLElement - NeedsSpecTable - Property - Reference translation_of: Web/API/HTMLElement/oncopy ---
oncopy プロパティは {{domxref("HTMLElement")}} インターフェイスのプロパティで、 {{domxref("Element/copy_event", "copy")}} イベントを処理するイベントハンドラー ({{event("Event_handlers", "event handler")}}) です。
copy イベントはユーザーがテキストをコピーしようとしたときに発生します。
target.oncopy = functionRef;
functionRef は関数名または関数式です。この関数は {{domxref("ClipboardEvent")}} オブジェクトを唯一の引数として受け取ります。
この例では、 {{htmlElement("textarea")}} からのすべてのコピーと貼り付けをブロックします。
<h3>Play with this text area:</h3> <textarea id="editor" rows="3">Try copying and pasting text into this field!</textarea> <h3>Log:</h3> <p id="log"></p>
const log = document.getElementById('log');
function logCopy(event) {
log.innerText = 'Copy blocked!\n' + log.innerText;
event.preventDefault();
}
function logPaste(event) {
log.innerText = 'Paste blocked!\n' + log.innerText;
event.preventDefault();
}
const editor = document.getElementById('editor');
editor.oncopy = logCopy;
editor.onpaste = logPaste;
{{EmbedLiveSample("Example", 700, 300)}}
{{Compat("api.HTMLElement.oncopy")}}
Firefox 13 から、この機能は設定 dom.event.clipboardevents.enabled で制御されます。既定値は true ですが無効化できます。