美文网首页
使用 default-passive-events 解决滚动背景

使用 default-passive-events 解决滚动背景

作者: 脱非入欧 | 来源:发表于2017-12-07 20:34 被阅读17次

由于 Chrome 想提高浏览器动画渲染帧数,要修改 eventListener 相关接口,出现了遮罩层无法屏蔽滚动动作的情况。

实现

安装依赖

npm install --save default-passive-events

code

require('default-passive-events'); 

preventBackScroll = (e) => { 
  e.preventDefault(); 
  e.stopPropagation(); 
} 

renderModal = (e) => { 
  // 阻止滚动 
  document.addEventListener('touchmove', this.preventBackScroll, { passive: false, capture: true }); 
  // 遮罩层实现代码省略 
  return <div onClose={(e) => { 
    // 关闭遮罩层时放开 
    document.removeEventListener('touchmove', this.preventBackScroll, { passive: false, capture: true }); 
  }}></div> 
} 

相关文章

网友评论

      本文标题:使用 default-passive-events 解决滚动背景

      本文链接:https://www.haomeiwen.com/subject/ezijixtx.html