vue項目出現錯誤: Unable to preventDefault inside passive event listener due to target being treated as


1 錯誤
谷歌瀏覽器報vue項目的錯[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive.

一個組件代碼如下,發生圖中錯誤

image
2 原因
描述:違反:沒有添加被動事件監聽器來阻止’touchstart’事件,請考慮添加事件管理者’passive’,以使頁面更加流暢。出現如上提示這可能是由於console的過濾器選擇了Verbose

chrome 監聽touch類事件報錯:無法被動偵聽事件preventDefault,是新版本chrome 瀏覽器報錯。

3 解決方法
方法在參考的博客就有,這里就說自己親測的方法。我主要是使用vue-cli3做項目,谷歌瀏覽器用的版本 88.0.4324.150(正式版本) (x86_64)版本。然后使用的解決方法就是:

1、應用 CSS 屬性 touch-action,在根組件App.vue中的css樣式中添加代碼

<style lang="scss" rel="stylesheet/scss" scoped>
.board {
  touch-action:none;//將該屬性寫在根元素上即可之后就不會報錯
  width: 100%;
  height: 100%;
  }
  </style>

2、注冊處理函數時,用如下方式,明確聲明為不是被動的
window.addEventListener(‘touchmove’, func, { passive: false })

注:如果還沒有解決,請找度娘幫忙。


免責聲明!

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



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