javascript - 如何解决移动端的滑动事件总是出现无法侦听被动事件?
大家讲道理
大家讲道理 2017-04-11 11:04:17
0
3
514

使用 swiper.js jquerymobile.js 等移动端js库的时候,如果使用了滑动事件,不时会看到报错:“
Unable to preventDefault inside passive event listener due to target being treated as passive”。但奇怪的是脚本运行正常,而且在不同的库和项目中我都能看见这种情况,我觉得不是个例。

所以我想问一下,出现这个问题通常是什么原因,各位又是如何解决、排查这个问题的?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
左手右手慢动作

遇到了和你一样的问题,没人来回答啊?
我的代码是:


<p class="demo">
    <p>点击这里</p>
</p>
document.addEventListener('touchmove', function(event) {
    var e = event||window.event;
    var p = event.target.closest('.demo');
    if (!p) {
        e.preventDefault();
    }
},false);

错误:

Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/...

刘奇

在swiper的初始项里面加上passiveListeners: false,即可,具体搜一下passiveListeners

大家讲道理

如图所示

而这些库也用到了这个咯。所以你在里面写preventDefault方法都是无效的
证据如下

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!