就一個簡單的滑塊功能,不知道怎么解決這個錯誤,谷歌了一下發(fā)現(xiàn)好像是跟touch事件的默認事件有關,沒找到針對性的解決辦法。。。
2 回答

猛跑小豬
TA貢獻1858條經(jīng)驗 獲得超8個贊
有兩個方法可以解決這個問題:
方法一、CSS屬性:touch-action:none解決treated as passive錯誤,作用在滑塊元素上
此方法有不足:
(1). iOS Safari瀏覽器不支持;
(2). 干掉了可能需要的原生的touch相關行為
方法二:直接傳遞passive:false解決treated as passive錯誤
問題代碼是:
document.addEventListener('touchmove', function (event) { event.preventDefault(); });
修復后的JavaScript代碼是:
document.addEventListener('touchmove', function (event) { event.preventDefault(); }, { passive: false});

牛魔王的故事
TA貢獻1830條經(jīng)驗 獲得超3個贊
也就是addEventListener的第三個參數(shù)傳遞passive:false,告訴瀏覽器,我這個事件就是不是消極的,是老子主動要這么做的。瀏覽器此時也不好說什么,然后,我們以前出問題的代碼就能正常運行了。
意外學到了CSS touch-action相關的一些知識。有了touch-action:manipulation,我們可以在網(wǎng)頁中放心大膽使用click事件了。
添加回答
舉報
0/150
提交
取消