热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

React中制止页面转动

近来用react做了一个H5端的页面,重要完成了一个弹层滑动挑选的功用,结果如图:碰到了一个题目,当在底部弹出层举行转动挑选都市区划时,蒙版后的页面也会跟着转动。这类征象在开辟历程

近来用react做了一个H5端的页面,重要完成了一个弹层滑动挑选的功用,结果如图:
《React中制止页面转动》
碰到了一个题目,当在底部弹出层举行转动挑选都市区划时,蒙版后的页面也会跟着转动。

这类征象在开辟历程中经常会碰到,通例思绪就是运用event.preventDefault阻挠父级元素的转动:


className="picker-scroller"
https://img.php1.cn/3cd4a/9b0d/ae9/2d998ad7838fbf16.jpeg" src="https://img.php1.cn/3cd4a/9b0d/ae9/2d998ad7838fbf16.jpeg" alt="《React中制止页面转动》" />
依据告警关键字用Google百度了一番,比及了如下结论:

因为浏览器必需要在实行事宜处置惩罚函数以后,才晓得有无挪用
preventDefault() ,这就致使了浏览器不能实时相应转动,略有耽误。

所以为了让页面转动的结果如丝般顺滑,从 chrome56 最先,在 window、document 和 body 上注册的 touchstarttouchmove 事宜处置惩罚函数,会默以为设置passive: true。浏览器疏忽 preventDefault() 就能够第一时间转动了。

《React中制止页面转动》
细细忖度一番,实在官方的斟酌照样有原理的,也是周密的。在CSS中供应了一个属性touch-action,用于指定某个给定的地区是不是许可用户操纵,以及怎样相应用户操纵。
《React中制止页面转动》
据此,我的解决方案就是设置这个CSS属性:

touch-action: none;

觉得总算高枕无忧利了,谁人手机试一把,用iPhone的Safari浏览器代开后,依旧并没有什么卵用。是的,九成是浏览器兼容题目,检察CanIUse,果不其然。
《React中制止页面转动》
那末既然如此,剩下的解决方案,就只有在绑定事宜的时刻显式的设置{ passive: false },查了一圈React文档也没发明,能够支撑设置这个属性的要领。此处至心叹息一句不如Vue轻易,如果是Vue就能够这么写:

既然如此,就只能用原生的事宜绑定了

document.getElementById("picker").addEventListener('touchmove', this.handleTouchMove, { passive: false });

终究,世界和平了。


推荐阅读
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 在实际开发中,现在安卓端和后台之间的数据交互,一般都是用JSON来传递数据信息。JSON大家一般都比较熟悉。我这边就以实际项目中的后台传过来的情况和大家分析下及如何处理。比如后台返 ... [详细]
  • Java的核心库提供了大量的现成的类供我们使用。本节我们介绍几个常用的工具类。Math顾名思义,Math类就是用来进行数学计算的,它提供了大量的静态 ... [详细]
  • DDOSDDOS的中文名叫分布式拒绝服务***,俗称洪水***DDoS***概念DoS的***方式有很多种,最基本的DoS***就是利用合理的服务请求来 ... [详细]
  • 一、vue-resource1、引入资源方式1)下载vue-resource.js,添加到项目中2)CDN:http:www ... [详细]
  • uniapp运行到浏览器跨域H5页面的跨域问题解决方案
    官方文档对跨域的解决方案推荐:https:ask.dcloud.net.cnarticle35267更方便的解决方案项目根目录直接创建一个vue.config.js文 ... [详细]
  • NGUIusingSystem;usingUnityEng ... [详细]
  • $(document).ready没有 ... [详细]
  • HTML 5定稿了?背后还是那场闹剧
    HTML5虽然只是一个技术标准,但是眼下更多承载着颠覆苹果与谷歌移动生态的理想。我并不想单纯从技术角度谈论HTML5的现实处境,因为技术从来不会成为发展的绝对瓶颈,尤其是HTML5 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
author-avatar
糖糖菓子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有