鍍金池/ 問答/HTML/ vue測試報(bào)錯(cuò)

vue測試報(bào)錯(cuò)

[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL>

由于目標(biāo)被視為被動(dòng)的,無法阻止被動(dòng)事件偵聽器內(nèi)部的默認(rèn)。
看到< URL >

我只是來回點(diǎn)擊了下圖片描述

回答
編輯回答
默念
2017年8月25日 17:22
編輯回答
櫻花霓

你去了解下Passive Event Listeners。
Passive Event Listeners是Chrome提出的一個(gè)新的瀏覽器特性:Web開發(fā)者通過一個(gè)新的屬性passive來告訴瀏覽器,當(dāng)前頁面內(nèi)注冊的事件監(jiān)聽器內(nèi)部是否會(huì)調(diào)用preventDefault函數(shù)來阻止事件的默認(rèn)行為,以便瀏覽器根據(jù)這個(gè)信息更好地做出決策來優(yōu)化頁面性能。當(dāng)屬性passive的值為true的時(shí)候,代表該監(jiān)聽器內(nèi)部不會(huì)調(diào)用preventDefault函數(shù)來阻止默認(rèn)滑動(dòng)行為,Chrome瀏覽器稱這類型的監(jiān)聽器為被動(dòng)(passive)監(jiān)聽器。目前Chrome主要利用該特性來優(yōu)化頁面的滑動(dòng)性能,所以Passive Event Listeners特性當(dāng)前僅支持mousewheel/touch相關(guān)事件。
出現(xiàn)這種情況估計(jì)是你點(diǎn)擊頁面的時(shí)候,觸發(fā)了touch事件,而touch事件默認(rèn)的passive是true,但是對應(yīng)的touch事件中又使用了preventDefault, 所以會(huì)觸發(fā)這個(gè)錯(cuò)誤

解決方案參考:明確告訴瀏覽器對應(yīng)事件的passive為false

el.addEventListener(
  'touchstart',
  fn,
  { passive: false }
);
2018年3月19日 18:19
編輯回答
萌小萌

希望這篇文章可以幫到你
https://zhuanlan.zhihu.com/p/...

2018年7月26日 03:44
編輯回答
憶當(dāng)年

這是警告,不能給passive(被動(dòng)的)事件監(jiān)聽器使用preventDefault以阻止默認(rèn)行為

2018年8月20日 17:44