elementui输入控件绑定粘贴事件对复制数据做处理

一、监听输入框粘贴事件

1.1、粘贴事件

//输入框粘贴事件
inputPaste(event, obj, prop) {
    var pastedText = undefined
    if (event.clipboardData && event.clipboardData.getData) {
        pastedText = event.clipboardData.getData('Text');
    } else {
        pastedText = event.originalEvent.clipboardData.getData('Text');
    }
    //去空格处理
    pastedText = pastedText.replace(/(^\s*)|(\s*$)/g, '');
    //完美赋值,无问题
    this.$nextTick(_ => {
        event.target.value = pastedText;
        //赋值需要在全局变量在对象之内
        this.$set(obj, prop, pastedText);
    });
    //延迟赋值,待界面默认渲染效果结束后赋值 赋值有bug
    /* setTimeout(_ => {
        event.target.value = pastedText
        this.$set(obj, prop, pastedText);
        this.$forceUpdate();
      }, 100); */
},

1.2、控件绑定粘贴事件

<el-input v-model="seachInfo.orderNo" @paste.native="inputPaste($event,seachInfo,'orderNo')"/>

二、监听网页全局复制事件

另行一种思路,监听页面全局复制事件,对复制后的剪贴板数据做处理

document.addEventListener('copy', (e) => {
    if (this.isCopy) {
        this.isCopy = false;
        // this.copyToClipboard('复制成功');
    } else {
        e.preventDefault();
        let clipboardStr = window.getSelection(0).toString();
        console.log('clipboardStr: ', clipboardStr);
        clipboardStr = clipboardStr.replace(/(^\s*)|(\s*$)/g, '');
        //改变剪贴板内的数据 begin
        if (window.clipboardData) {
            window.clipboardData.setData("text", clipboardStr);
        } else {
            (function (clipboardStr) {
                document.oncopy = function (e) {
                    e.clipboardData.setData("text", clipboardStr);
                    e.preventDefault();
                    document.oncopy = null;
                };
            })(clipboardStr);
            document.execCommand("Copy");
        }
        //改变剪贴板内的数据   end
    }
});

本文作者:Journey&Flower

本文链接:https://www.cnblogs.com/JourneyOfFlower/p/16677934.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Journey&Flower  阅读(490)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 Not Found REOL
404 Not Found - REOL
00:00 / 00:00
An audio error has occurred.

Fade away

Do over again

Fade away

Utai hajime no hitomojime

Itsumo mayotteru

Douse toritome no nai koto dakedo

Tsutawaranakya motto imi ga nai (Ooh-ooh, oh-oh-oh)

Doushitatte konna ni fukuzatsu nano ni

Kamikudaite yaranakya tsutawaranai

Hora kekkyoku kashi nanka dou datte ii

Boku no ongaku nanka kono yo ni nakutatte ii nda yo

Ii ndarou

Nee sou darou

Everybody don't know why

Everybody don't know much

Boku wa ki ni shinai, kimi wa kidzukanai

Doko ni mo mou inai inai

Everybody don't know why

Everybody don't know much

Wasureteiku, wasurerareteiku

We don't know, we don't know, no, no

Me no mae, hirogaru genjitsu sekai ga mata yuganda

Nando risetto shite mo

Boku wa boku igai no dareka ni wa umare kawarenai

Sonna no shitteru yo

Ki ni naru ano ko no uwasabanashi mo

Shinikaru hyouteki wa tsugi no sokuhou

Mahi shichatteru (Tteru) kokkara esukeepu (Keepu)

Tooku tooku made ikeru yo

Antei nante nai (Na-na-na-na)

Fuanteina sekai (Na-na-na-na)

Antei nante nai (Na-na-na-na)

Kitto ashita ni wa wasureru yo

Fade away

Do over again

Fade away

Souda sekai wa dokoka ga itsumo uso kusai

Kireigoto dake ja daijina hitotachi sura mamorenai

Kudaranai, bokura minna dokoka kurutteru mitai

Hontou no koto nanka zenbu kamisama mo shiranai

Kamisama mo shiranai (Woah, woah, woah, no, woah)

Kamisama mo shiranai (Woah, woah, woah, no, woah)

Kamisama mo shiranai, but

Kamisama mo shiranai (Woah, no, woah, no, woah)

Everybody don't know why

Everybody don't know much

Boku wa ki ni shinai, kimi wa kidzukanai

Doko ni mo mou inai inai

Everybody don't know why

Everybody don't know much

Wasureteiku, wasurerareteiku

We don't know, we don't know, oh, oh-oh-oh

Ahh, oh-oh-oh-oh

Woah, oh-oh-oh

Ooh, ooh, ooh, ooh-ooh-ooh-ooh