慕工程0101907
2018-08-23 20:05:24
[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL>由于目標被視為被動的,無法阻止被動事件偵聽器內(nèi)部的默認。看到< URL >我只是來回點擊了下
2 回答

FFIVE
TA貢獻1797條經(jīng)驗 獲得超6個贊
你去了解下Passive Event Listeners。
Passive Event Listeners是Chrome提出的一個新的瀏覽器特性:Web開發(fā)者通過一個新的屬性passive來告訴瀏覽器,當前頁面內(nèi)注冊的事件監(jiān)聽器內(nèi)部是否會調用preventDefault函數(shù)來阻止事件的默認行為,以便瀏覽器根據(jù)這個信息更好地做出決策來優(yōu)化頁面性能。當屬性passive的值為true的時候,代表該監(jiān)聽器內(nèi)部不會調用preventDefault函數(shù)來阻止默認滑動行為,Chrome瀏覽器稱這類型的監(jiān)聽器為被動(passive)監(jiān)聽器。目前Chrome主要利用該特性來優(yōu)化頁面的滑動性能,所以Passive Event Listeners特性當前僅支持mousewheel/touch相關事件。
出現(xiàn)這種情況估計是你點擊頁面的時候,觸發(fā)了touch事件,而touch事件默認的passive是true,但是對應的touch事件中又使用了preventDefault, 所以會觸發(fā)這個錯誤
解決方案參考:明確告訴瀏覽器對應事件的passive為false
el.addEventListener( 'touchstart', fn, { passive: false } );
添加回答
舉報
0/150
提交
取消