Chrome无法调用preventDefault阻止touch事件解决办法
2018-01-18 16:58
295 查看
坑爹的开始….
Chorme56+开始为了让页面滚动变得更为流畅,在 window、document 和 body 上注册的touchstart和
touchmove事件处理函数,会默认为是
passive: true。浏览器忽略默认事件的
preventDefault(), 你要是手动阻止会弹出一个警告, 告诉你阻止不了!!!
解决办法
在CSS属性上对想要禁用触摸事件的元素设置touch-action: none, 然后用js获取该元素真实DOM元素添加事件处理
const ele = document.getElementById('app'); ele.addEventListener('touchmove', (e) => { e.preventDefault(); e.stopPropagation(); }, { passive: false })
react-swipe无法阻止页面左右滑动
这里多说一嘴, 是关于目前在做的项目中出现的问题, react-swipe无法阻止卡片的左右滑动, 采用上面的方法依旧阻止不了touch事件, 苦逼的想了两天依旧没有想出来, 幸好有老大救命…..在整个react-swipe的根组件的兄弟节点(不能是父节点), 加一个遮罩层, 在某种逻辑的情形下, 显示该遮罩层, 在该遮罩层采用上述方法, 设置CSS和绑定JS事件, 达到实现阻止卡片左右滑动的效果.
(吐槽) (;´д`)ゞ
相关文章推荐
- 移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法
- 移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法
- chrome 监听touch类事件报错:无法被动侦听事件preventDefault
- UIScrollView无法响应touch事件的解决办法
- iScroll左右滑动阻止内容上下滑动 e.preventDefault() 解决办法
- 『IOS』UIScrollView无法响应touch事件的解决办法
- UIScrollView无法响应touch事件的解决办法
- iScroll左右滑动的时候,阻止了内容的上下滑动 e.preventDefault() 解决办法
- UIScrollView无法响应touch事件的解决办法
- UIScrollView无法响应touch事件解决方法
- fragment中onActivityResult无法返回和在startActivityForResult调用后立即调用解决办法
- window2008 64位系统无法调用Microsoft.Office.Interop组件进行文件另存的解决办法
- 解决chrome无法启用印象笔记-剪藏功能的办法
- 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法
- 关于XTToolkitPro中DialogPanes无法响应OnDockingPaneNotify事件的解决办法
- 织梦arclist标签无法调用副栏目文章的解决办法(58nin.com原创)
- [Phonegap+Sencha Touch] 移动开发21 Sencha touch tapHold事件 触发时间太长的解决办法
- Chrome中canvas上drawImage无法画出image的解决办法
- [MFC] 无法响应OnMouseLeave事件的若干种解决办法