JavaScript カット/コピー/ペーストされた際に処理を行う

最終更新日

カット・コピー・ペーストされた際に処理を行うには、copyイベントやpasteイベントを捕捉します。要素では、oncopyのように、「on」を付けたプロパティにイベントハンドラを設定できます。また、addEventListener()メソッドを使ってイベントリスナーで設定することもできます。

イベント説明
copyコピーしたとき
beforecopyコピーする前
cutカットしたとき
beforecutカットする前
paseteペーストしたとき
beforepasteペーストする前
<body>
<script>
    window.addEventListener("load" , function(){

        var ele = document.getElementsByTagName("output")[0];

        //テキストフィールドの参照を変数に代入
        var fld = document.getElementById("myFld");

        //テキストフィールドにcopyイベントを割り当て
        fld.addEventListener("copy", function(evt){
            ele.innerHTML = "コピーしました。";
        }, false);

        //テキストフィールドにcutイベントを割り当て
        fld.addEventListener("cut", function(evt){
            ele.innerHTML = "カットしました。";
        }, false);

        //テキストフィールドにpasetイベントを割り当て
        fld.addEventListener("paste", function(evt){
            ele.innerHTML = "ペーストしました。";
        }, false);
        
    }, false);

</script>
<h1>コピー/カット/ペースト処理</h1>
<form>
    <input type="text" value="sample" id="myFld"><br>
</form>
<output></output>
</body>

テキストフィールドの内容をコピーすると、コピーしたことを示す文字が表示されます。

実行結果

テキストフィールドの内容をカットすると、カットしたことを示す文字が表示されます。

実行結果

テキストフィールドのペーストすると、ペーストしたことを示す文字が表示されます。

実行結果