--- 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
ですが無効化できます。