Unable to preventDefault inside passive event listener due to target being treated as passive.javascript
安装:java
$ yarn add default-passive-events
简单的示例:node
require('default-passive-events');
引入js:chrome
<script type="text/javascript" src="node_modules/default-passive-events/dist/index.js"></script>
使用cdn:bash
<script type="text/javascript" src="https://unpkg.com/default-passive-events"></script>
示例和输出:ide
document.addEventListener('mouseup', onMouseUp); // {passive: true, capture: false} document.addEventListener('mouseup', onMouseUp, true); // {passive: true, capture: true} document.addEventListener('mouseup', onMouseUp, false); // {passive: true, capture: false} document.addEventListener('mouseup', onMouseUp, {passive: false}); // {passive: false, capture: false} document.addEventListener('mouseup', onMouseUp, {passive: false, capture: false}); // {passive: false, capture: false} document.addEventListener('mouseup', onMouseUp, {passive: false, capture: true}); // {passive: false, capture: true} document.addEventListener('mouseup', onMouseUp, {passive: true, capture: false}); // {passive: true, capture: false} document.addEventListener('mouseup', onMouseUp, {passive: true, capture: true}); // {passive: true, capture: true}
缘由:ui
https://www.chromestatus.com/features/5093566007214080spa
相关资源:code
https://zhuanlan.zhihu.com/p/24385322cdn