onbeforepasteNN なし IE 5(Win) DOM なし

バブル : あり、キャンセル可能 : あり

ユーザーが [編集] メニュー、キーボードショートカットまたはコンテキストメニューによって [貼り付け] コマンドを開始し、システムクリップボードにあるコンテンツを現在選択されている項目に貼り付ける処理が完了する直前に発生します。onbeforecopyoncopyonbeforecut、または oncut の各イベントハンドラーで clipboardData オブジェクトに保存しておいたカスタム情報を貼り付ける場合は、onbeforepaste イベントハンドラーと onpaste イベントハンドラーを併せて使用する必要があります。まず、貼り付け先が編集可能でない場合でも onbeforepaste イベントハンドラーで event.returnValuefalse に設定して、[編集] メニューおよびコンテキストメニューの [貼り付け] コマンドをアクティブにします。ユーザーが [貼り付け] メニューを選択したときに、onpaste イベントハンドラーで clipboardData オブジェクトから情報を取得し、選択された要素の HTML コンテンツを変更するなどの処理を行います。

 
function handleBeforePaste( ) {
    event.returnValue = false;
}
function handlePaste( ) {
    if (event.srcElement.className == "OK2Paste") {
        event.srcElement.innerText = clipboardData.getData("Text");
    }
}
 

上の貼り付け処理では、スクリプトがすべてのデータ転送処理を行うため、システムクリップボードは関与しません。すべての処理が編集モードに移行せずに行われます。

 
代表的なターゲット

すべての表示要素、document オブジェクト。