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(/\n/);
                    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);
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM