最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Added non-passive event listener to a scroll-blocking ‘wheel‘ event. Consider marking event handle警告

业界 admin 5浏览 0评论

一般出现这个问题,肯定大部分人都是使用default-passive-events插件。

但是随着项目的扩大,default-passive-events难免会和其他插件产生冲突,比如canvas库konvajs

在使用konvajs和default-passive-events后,肯定会报:

拖拽时

Unable to preventDefault inside passive event listener invocation.

没办法,我们只能禁用default-passive-events插件

我们新建一个polyfill.js文件

polyfill.js



//去除谷歌的touch事件警告
(function () {
  if (typeof EventTarget !== "undefined") {
    let func = EventTarget.prototype.addEventListener;
    EventTarget.prototype.addEventListener = function (type, fn, capture) {
      this.func = func;
      if (typeof capture !== "boolean") {
        capture = capture || {};
        capture.passive = false;
      }
      this.func(type, fn, capture);
    };
  };
}());

然后再main.js文件中引入,一定要在vue初始化之前,最好这个放最开头

main.js

require("./base/utils/polyfill"); // 去除touch事件谷歌提示

然后即可搞定。

这个方案实在jq的板块里找到的,也是难得,贴一下出处:

《Added non-passive event listener to a scroll-blocking 'touchstart' event》

一般出现这个问题,肯定大部分人都是使用default-passive-events插件。

但是随着项目的扩大,default-passive-events难免会和其他插件产生冲突,比如canvas库konvajs

在使用konvajs和default-passive-events后,肯定会报:

拖拽时

Unable to preventDefault inside passive event listener invocation.

没办法,我们只能禁用default-passive-events插件

我们新建一个polyfill.js文件

polyfill.js



//去除谷歌的touch事件警告
(function () {
  if (typeof EventTarget !== "undefined") {
    let func = EventTarget.prototype.addEventListener;
    EventTarget.prototype.addEventListener = function (type, fn, capture) {
      this.func = func;
      if (typeof capture !== "boolean") {
        capture = capture || {};
        capture.passive = false;
      }
      this.func(type, fn, capture);
    };
  };
}());

然后再main.js文件中引入,一定要在vue初始化之前,最好这个放最开头

main.js

require("./base/utils/polyfill"); // 去除touch事件谷歌提示

然后即可搞定。

这个方案实在jq的板块里找到的,也是难得,贴一下出处:

《Added non-passive event listener to a scroll-blocking 'touchstart' event》

发布评论

评论列表 (0)

  1. 暂无评论