zoukankan      html  css  js  c++  java
  • document.addEventListener('paste',newHandle, false);多次绑定同一事件,触发多次

    本博客之作个人技术笔记来使用,同时分享给大家来看

    首先说一下:我是在vue中获取剪切板的数据,然后对数据进行处理在做相关的操作

    但是在成功后我有发现多次进行粘贴就是呈现累加执行,也就是第一次执行一次,第二次执行第一次和第二次,以此类推实现

    在网上查了相关资料都是监听的 点击事件  就没有监听粘贴事件的 ,没具体差但是好像时只有document有点击事件,看了很久又说用闭包来解决的,不知道十我没看懂还是怎么滴就是成功不了,统计调用remove删除监听还是没用,最后灵光一闪我把remove删除监听放在add监听事件含视方法最后执行就成功了

        validatefocus(row,index,e){//获取焦点 row焦点单条的数据,index数组的下标,e是event事件,在下代码没用
          let _this = this
          function handleAction (event) {
                      // 获取粘贴板的内容
                        let pasteValue = (event.clipboardData || window.clipboardData).getData('text');
                        let paceArray = pasteValue.split(/
    /);
                        console.log(paceArray,'-----处理后')
                        paceArray.forEach((item,ind,arr)=>{
                          if(ind>index && ind<_this.tableData.length){
                            console.log('进去几回')
                            let inde=ind-index
                            _this.tableData[ind].i_to_data=parseFloat(arr[inde].replace(/s*/g,""))
                          }
                        })
                        document.removeEventListener('paste', newHandle);
          }
          var newHandle = function (event) {
            handleAction(event)
          }
          document.addEventListener('paste',newHandle, false);
        }
  • 相关阅读:
    go-web摘抄1-基础知识
    arduino3-机械臂
    Arduino-2 使用按键开关
    Arduino-1 点亮小灯
    树莓派的语音识别
    gitlab的环境搭建及使用
    python数据处理 2
    idea 无法创建class文件
    Intellij IDEA添加database无法显示表等问题
    Intell idea 添加 jd反编译插件
  • 原文地址:https://www.cnblogs.com/enhengenhengNymph/p/14661632.html
Copyright © 2011-2022 走看看